作为非科班自学 Python,毕业转 Java 的程序员,工作至今两年有余。本持着对技术的追求,对代码的精益求精,通过不断学习,总结了一些代码的坏味道和重构的技巧,因此将其作为系列文章分享出来,供大家交流讨论,共同成长进步。
本系列文章定位:
命名是让每一位程序员命名头疼的事情。
命名不好有两种情况:
a,da1232 等命名。对于情况1,作为有追求的程序员,一定要杜绝。
对于情况2,一方面我们可以通过阅读大量的代码,通过 GitHub等借鉴别人的命名;另一方面,《程序员底层思维》一书中提到,命名不好,说明你对某个概念理解的不够,无法做到合理的抽象,需要我们区更加深入思考概念,培养自己的抽象思维,将抽象出一个好理解的词汇。
神秘命名:不知道含义的命名。比如:gg等。这在一些项目中非常常见。
神秘命名,影响代码的可读性和可维护性,极大增加了项目的学习维护成本。
代码直观明了,一眼知道它在做什么,最高境界是代码自注释。
构筑单元测试,保证功能,用例全部通过
通过 IDEA 的快捷键 Shift + F6批量快速重命名
重跑单元测试,用例依旧全部通过,说明重构没问题
技巧:重构是一个危险的活,重构的第一步就是构筑防护网,保证原有的功能,之后,逐步的小重构,每修改一次,重新跑一次单元测试,保证每次重构修改都不会影响原有功能,不断迭代,达到重构完成。
测试类 + Test 结尾命名,可以通过 Ctrl +Shift + T 创建测试类Abstract 或 Base 开头get + 非布尔属性,is/has/can/should... + 布尔属性名,set + 属性名,has + 名词/形容词,动词,动词 + 宾语,回调方法(callback) 允许介词 + 动词形式,如 onCreate_,建议 BDD,也可以小驼峰命名,以 test开头_ 分隔单词,不要使用魔鬼数字