代码规范
有意义的区分,使用读的出来的名称。使用可搜索的名称。避免思维映射。
废话都是冗余。
类名和对象名应该是名词或名词短语。类名不应当是动词。
方法名应当是动词或动词短语。
每个概念对应一个词。别用双关语。
使用源自所涉问题领域的名称。
代码一定要短小。
不要害怕长名称,长而具有描述性的名称比短而令人费解的名称好。
参数名称最理想是零个,其次是一个,再次是二,应尽量避免三参数的函数。
标示参数丑陋不堪,向函数传入布尔值简直是骇人听闻的做法。
尽量避免使用输出参数。如果函数必须要修改某种状态,就修改所属对象的状态。
使用异常代替返回错误码。
抽离try/catch代码块。try/catch代码块丑陋不堪。它们扰乱了代码结构,把错误处理与正常流程混为一谈。最好把try和catch代码块的主体部分抽离出来,形成函数。
函数应该只做一件事。错误处理就是一件事。因此。处理错误的函数不应该做其它的事。
消除重复,避免冗余。
todo注释是一种程序员认为应该做,但是由于某些原因目前还没有做的工作。
模块不应了解它所操作对象的内部情形。对象不应通过存储器暴露其内部结构,隐藏内部结构。
对象暴露行为,隐藏数据。便于添加新对象类型而无需修改既有行为,同时也难以在既有对象中添加新行为。数据结构暴露数据,没有明显的行为。便于向既有的数据结构添加新行为,同时也难以向既有函数添加新数据结构。
返回null不如抛出异常或者返回特例对象。
不要传递null。