代码整洁之道:
及时去除糟糕的代码;勒布朗法则: Later equals never
花时间保持代码整洁,不仅有关效率,还有关生存!
写整洁的代码需要大量的小技巧,贯彻刻苦习得的“整洁感”。这种“代码感”就是关键所在。
优雅高效的代码:
代码逻辑直截了当,叫缺陷难以隐藏;
尽量较少依赖关系,使之便于维护;
依据某种分层战略,完善错误处理代码;
性能调至最优,省的引诱别人做没规矩的优化,搞出一堆混乱;
整洁的代码只做好一件事情。
槽糕的代码引发混乱,别人修改糟糕的代码时,往往会越改越烂。
敷衍了事的错误处理逻辑,只是程序员忽略细节的一种表现。
整洁的代码力求集中,每个类,每个函数,每个模块都全神贯注于一事,完全不受周围细节的污染和干扰。
整洁的代码从不隐藏设计者的意图,充满了干净利落的抽象和直接了当的控制语句。
没有测试的代码不干净,不管它有多优雅、多可读、多易理解,微乎测试,其不洁亦可知也。
整洁的代码总是看起来像是某位特别在意它的人写的。几乎没有改进的余地,代码作者什么都想到了,如果你企图改变它,总会回到原点。
如果同一段代码反复出现,就表示某种想法未在代码中得到良好的体现。
消除重复和提高表达力,让我在整洁代码方面获益颇多。只要铭记这两点,改进脏代码时,就会大有不同。
减少重复代码、提高表达力,提早构建简单抽象,这就是我写整洁代码的方法。
读代码与写代码花费是时间比例超过10:1。写新代码时,我们一直在读旧代码。
童子军军规:让营地比你来时更干净。
取个好名字的几个简单规则:
名副其实、见名知意
避免误导
做有意义的区分
使用读的出来的名称
使用可搜索的名称
避免使用编码
避免多余的匈牙利语标记法
避免成员前缀
避免思维映射:编写其他人能理解的代码
类名和对象名应该是名词或名词短语
方法名应当是动词或动词短语
别扮可爱~
每个概念对应一个词
别用双关语
使用解决方案领域名称
使用源自所涉领域的名称
添加有意义的语境
不添加没用的语境
如何写好函数:
短小:函数的第一条规则是短小,第二条规则是还要更短小
只做一件事
每个函数一个抽象层级
Switch语句:如果只出现一次,用于创建多态对象,而且隐藏在某个继承关系中,在系统其它部分看不到,就还能容忍。当然也要就事论事,有时,我也会部分或全部违背这条规则。
使用描述性的名称:如果每个程例都让你感觉到深合己意,那就是整洁代码
函数参数:最理想的参数数量是零,其次是一,再次是二,应尽量避免三,有足够特殊的理由,才能使用三个以上的参数,所以无论如何也不要这么做。
标识参数:标识参数丑陋不堪,想函数传入boolean值,简直就是骇人听闻的做法。这样做,方法签名立刻变得复杂起来,大声宣布,本函数不止做了一件事。如果标识为ture,将会这么做,为false将会那样做。
应该尽量使用一元机制将二元函数转换为一元函数
参数对象:如果函数看来需要两个、三个或三个以上的参数,就说明其中一些参数应该封装为类。
无副作用:函数承诺只做一件事,但还是会做其他被隐藏起来的事。
应避免使用输出参数,如果函数必须修改某种状态,就修改所属对象的状态吧。
使用异常替代返回错误码
抽离try catch代码块
Error.java依赖磁铁
别重复自己