行数≠能力
写代码的行数和程序员的能力没有太直接的关系,代码编写能力只是编程能力的一个体现,不能以偏概全。
而且不同的岗位代码能力数量差异非常大,常见的前端工程师以及应用级开发代码量比系统级开发或者底层开发代码量少了许多,所以代码量并没有太多的可比性。
实践才是硬道理
只要有过实际项目开发经验的工程师,都有一个认识,写代码的时间只占总工程量的百分20,编码能力稍微差点的就是占据百分30。
其实要做一个项目首先要进行可行性分析,然后是功能分析,也就是需求分析,代码完成阶段,测试阶段,联合调试,后出厂,到客户再提出新的需求再返回来修改,这一系列的过程都会花费大量的时间,写代码的时间只占很小的一部分。
代码只是展示形式,对于编程的认知到了一定层面编程语言就是工具一般的存在,如果拿代码的总量来衡量编程水准就会显得比较狭隘。
写代码直接的表现是实现功能,终编程的终的目的是给生活提升了多少便利,站在不同的角度能给出不同的结论。
还有人纠结于掌握多少编程语言,掌握多种编程工具而已,编程能力的核心是解决实际问题的能力,解决问题能力包含具体的代码实现,功能需求优的实现,以及准确的测试手段,还包含着和客户的沟通能力。
当然核心的架构能力以及算法逻辑,都可以归结于解决问题能力,几乎每个企业都有一个或者多个定海神针般的人物存在,几乎大家解决不了的问题都会交给他去解决,特别是项目交付的关键时期。
不断学习保持迭代
判断一个程序员的能力,代码能力只是业务能力的一个体现,很多程序员觉得实现自己的功能模块就万事大吉了,把自己做的东西和实际应用场景结合的太少了,从来不去考虑是不是有更好的使用方式。
很多顶层的架构师除了研究本身代码,还会从生活中寻找创新的灵感,如果只是一个满足于现状的程序员基本上决定了未来的发展,优秀的程序员对于自己写的代码从来都是带着有色眼镜在审视。
从纯粹的代码角度考虑代码的质量远大于代码的数量,不停的折腾代码,不停的寻找更好的实现方式,是优秀程序员的一个基本特质。
曾经共事过一个同事,代码基本功极强,平时写代码基本上都是一次性过,很少在编译的时候来回修改语法错误。
经典的一次是一个团队实现的一周实现的代码,被这位神奇的同事一晚上给重构了,早上上班发现自己的代码都没了都换成他的了,很多人觉得不爽,但重构的代码质量无可挑剔,实力的体现。
平时特别喜欢研究一些编程规范,经常拿着C99这些标准研究来研究去,有时候还会喊出一句怪不得那,写代码就是一种享受,境界不同产出的结果也会不同。