写点什么

程序员代码为镜以正技术

用户头像
sdutyq
关注
发布于: 2021 年 03 月 15 日

作为程序员,你想知道自己的编码技术水平吗?那就看看你写的代码。

 

很多技术人员经常都会这样想,在这个项目中,我承认写的代码很烂,但其实我的技术水平很好。因为这个项目时间要求太紧,我没时间去写好代码,以及优化代码。可能这是个原因,更可能的真相是:你的水平不会高出这个烂代码太多。

 

我也曾经这样想。因为周末想写点程序,时间关系,写了很多临时代码。后续有一些闲暇时间,我决定花些时间去把这些临时代码优化为我心中的理想代码。结果我发现代码的修改过程经常出现反复,一段时间觉得新的代码写法好,一段时间又觉得原来的好又改回去了。伴随着反复的进行,促使自己进行学习和思考,渐渐的发现代码的修改已经反复越来越少。代码在向一个方向不断进化。不仅仅是已有代码的重构不再反复,新写的代码不经过反复修改也很容易代表现在的代码水平。这个过程让我我不由思考,好代码真的比坏代码花费更多时间吗?自己以前写的临时代码真的是时间原因吗?

 

思考的答案是否定的。当你写丑陋的代码的时候,原因并不是你没有时间,而是自己的代码认知水平不够。因为写丑代码的时间已经足够你写出个更好的代码了,决定你代码的主要原因是你的认知,而不是时间。

 

写代码和做设计的另一个常有感受是:很多时候觉得这样也行,那样也行。但伴随重构的进行,新思考新线索的加入,会发现合理的选择只有一个。也就是真相只有一个。当我们觉得有很多选择的时候,很可能是因为我们的思考高度不够或你对场景痛点了解不够。如果我们高听出了场景分析和痛点,那么优秀的解决方案或代码写法也就只剩下一个了。面对一个场景很多时候正确答案并不多(经常就只有一个)。你根本无从选择,错误的选择却是无限的。


总结:你写的代码就是你能力的镜子,好好雕琢,认真思考。如果代码质量不高,不是代码有问题,而是自己能力有待提高!

注:本文中的你不是你,是自省自己,是镜子中的自己。


面试的一个小案例

面试者项目描述:系统有很多模块 XYZ…,其中 X 模块是我做的。

面试官问:X 模块你做了什么呢?(心想通过面试者的描述评估下逻辑能力,解决问题能力,最好还能体现一些技术亮点,再挖一些细节评估下真实性)

面试者答:都是一些校验,我觉得不重要。

面试官心想:????,别说一个大的模块,就算是加个注释也是有思考的吧。。。做过的一个模块毫无思考,每个人是通过你做的东西来证明自己的能力,这样的表述只能证明你对项目毫无贡献和思考了。。。。

当然后续还会通过其他的项目和点继续挖掘下面试者是不是被埋没了,但后续证明还是没挖到什么有价值的东西。面试者从未认真对待过自己所做的项目。在我看来,是未正确对待过自己,他做的东西其实就是别人评判他的镜子。


发布于: 2021 年 03 月 15 日阅读数: 16
用户头像

sdutyq

关注

还未添加个人签名 2019.10.15 加入

还未添加个人简介

评论

发布
暂无评论
程序员代码为镜以正技术