这是对上次随笔的续笔
1.对变量的命名,代码的阅读次数远远大于编写的次数,为了可读性,确保所取的名字更侧重于阅读而不是编写方便。命名时要足够具体,不要用模糊或者太通用能用于各种目的的名字,名字需要能表达变量所代表的含义,需要让阅读者无需苦苦思索。慎用缩写,现代编程语言很少使用缩写,如果真的要使用,最好维护一个项目字典或者标准前缀帮助理解,并且缩写英国有自己的规则,具体细节可参考代码大全。
2.在编程时需要组织直线型代码时,可以用比较好的子程序名、参数列表、注释,以及使用不同的变量让依赖关系看起来更明显。如果代码之间没有顺序依赖关系,则尽可能让相关的语句更接近。
为了提高程序的可读性,减少以及隔离程序复杂度,提高代码复用率,在代码变更时减少带来的影响(功能变更,变更导致的测试),可移植性,方便后期优化,隐藏复杂逻辑结构等的实现细节......
2.如何创建好的子程序名字
能够描述子程序所做的事情,使用动宾结构,并且对返回值有所描述,一般命名长度为9~15个,在一个项目里最好给一些通用的操作确立命名规则(比如创建、更新记录时),避免模糊命名(比如detail)
3.如何使用子程序参数?
按照输入、修改、输出的顺序排列参数。 如果几个程序都用了类似的一些参数,应该让这些参数的排练顺序保持一致。不要把子程序的输入参数用作工作变量,工作变量最好在子程序中创建,保证参数尽量不被改变。
把子程序的参数个数限制在大约7个以内,且保证每一个参数都被用到。为子程序传递用以维持其借口抽象的变量或对象,传递给子程序什么类型的参数,应该为对子程序而言,哪种方式对子程序更方便。
4.什么是防御式编程?为什么需要?
防御式编程不是指不让别人批评你的代码,而是指确保你要承担的责任,保证你的方法不会因为传入错误数据而破坏,看似微小的防范,收益可能大于你的想象,能够让错误更容易发现,修改,并减少对已经编写代码的修改
5.如何对错误进行处理?处理的方式
需要根据实际场景,程序是更需要健壮性还是正确性,一般普通的消费产品更倾向于健壮性,但和数据相关,则更倾向于正确性;建议在架构设计上就决定好如何处理错误,是异常还是其他的方式。