一.不整洁代码的坏处:
1.赶着推出产品,代码写得乱七八糟。特性越加越多,代码也越来越烂,最后再也没法管理这些代码了。是糟糕的代码毁了这家公司。
2.随着混乱的增加,团队生产力也持续下降,趋向于零。当生产力下降时,管理层就只有一件事可做了:增加更多人手到项目中,期望提升生产力。可是新人并不熟悉系统的设计。他们搞不清楚什么样的修改符合设计意图,什么样的修改违背设计意图。而且,他们以及团队中的其他人都背负着提升生产力的可怕压力。于是,他们制造更多的混乱,驱动生产力向零那端不断下降
3.糟糕的代码引发混乱!别人修改糟糕的代码时,往往会越改越烂。
4.编写代码的难度,取决于读周边代码的难度。
5.单字母名称和数字常量有个问题,就是很难在一大篇文字中找出来。 用常量名称去说
6.好的代码让别人一眼就能明白
二.简洁代码原则:
1.每个函数、每个类和每个模块都全神贯注于一事。
2.取名时名副其实、见名知意
a.变量的意义要体现在代码段中,可那就是它们该在的地方
b.用常量而不是一个数字/字符串来表示逻辑关系。
c.变量名要提供导向作者意图的线索
d.类名和对象名应该是名词或名词短语
e.方法名应当是动词或动词短语
3.函数:
a.函数的第一规则是要短小。第二条规则是还要更短小。20行以内
b.只做一件事
c.如果函数看来需要两个、三个或三个以上参数,就说明其中一些参数应该封装为类了
d.函数要么做什么事,要么回答什么事: 函数应该修改某对象的状态,或是返回该对象的有关信息。两样都干常会导致混乱。
e.别返回以及传递null值
f.不要void,难读懂
g.长表达式变成方法
4.格式:
a.封包声明,导入声明,变量声明,每个函数之间用空白行隔开
b.变量声明尽量靠近其使用的位置
c.有调用关系的函数尽量放在一起.调用者尽量在被调用者上面
5.对象和数据结构
a.变量私有,get/set
6.类:
a.类应该短小,有且只有一个加以修改的理由
b.类应该只有少量实体变量,类中的每一个方法都应该操作一个或多个这种变量。如果类的每个变量都被每个方法所使用,则该类具有最大的内聚性
c.希望内聚性保持在较高的位置
7.并发:
a.分离并发代码和其它代码
b.限制对可能被共享的数据的访问(synchronized)
c.尽量只读
d.多个线程收集副本的结果,在单个线程中合并
e.线程尽可能独立,使用内部自己的变量