良好的编程习惯:设计占比60%,编码占比15,调试占比35%。
图解如下:
一、优秀实践的分析:
良好的编码习惯是,编码不要着急动手敲代码。应该先设计,且设计占比约50%时间。
设计时包括2点:
1、整体功能、逻辑的设计,
2、简单写出伪码。
为何呢?原因有2:
1、设计时(方案思考、写伪码),是难得用人类语言来思考该问题,可以考虑的非常全面、非常灵活和到位。如果直接编程序,则是要用编程语言(if、while、赋值等)来思考问题,思考是受限的,考虑时没那么自如的。
2、设计完成后,函数名、变量名一般都有好的命名。因为设计思考时,会来回查看自己的设计,会帮助你反复思考和修改,最终连函数、变量都会具有良好的命名。
记住:对函数有良好的命名,其实证明你已经充分理解这个函数了。反之,如果一个函数命名不好,其实标志着你对该函数还不是很清晰。(变量一样)
这样设计之后,再编码、调试,质量很高,所以最后很节省时间(100工时)。
二、错误/不良实践的分析:(此处讨论一般模块均适用)
错误的编码习惯是,头脑中简单想一下,然后就立刻动手敲代码了。美其名曰,我已经干起来了,速度多快。
但是,其实这样最后结果是,速度极慢。
因为,没有仔细设计和推敲逻辑,带来的情况是:
1、缺点1。整体逻辑和架构上往往会有缺陷,
2、缺点2。任何人又难免有小的技术bug,
当调试、修正bug时,一旦遇到整体逻辑和架构的缺陷,就会非常难修正。打补丁越打越多,架构又已经定型,则代码质量往往会越来越差,最后会接近于需要推翻重写的地步。陷入这种编码环境后,会导致调试过程很长,花费很长时间才能勉强交付(一般是上面优秀编码习惯的2倍)。而且,同时最后留下的代码质量也往往很差。
虽然确实节省了设计的时间,但是最终看来结果非常不划算的:无论从时间上、以后代码维护上。
三、对于个人来说。比如,两个开发人员,一个是采用错误编程习惯,开发了4个项目;另外一个人采用良好的编程习惯,同样时间,已经开发了8个项目了。
那么差距就产生了(个人的成就、贡献、收入以及企业对你的认可程度)。