《Clean Code》 代码整洁之道 精华整理

Robert C. Martin  是 Object Mentor公司的总裁,敏捷方法学和极限编程的资深顾问,帅疆阅读了这本书有许多感觉,并整理了其中精华语句。

无论是敏捷开发流派还是传统流派都认为软件质量必须依赖于整洁的代码。

我们要从Code Monkey 成为模范童子军。

混乱是程序员亲自造成的,随着混乱的增加,团队生产力持续下降,管理层往往增加更多的人手,期望提升生产力,可新人并不熟悉原来的设计,往往制造了更多的混乱。

花时间保持代码整洁不仅仅关系质量、效率,还关系生存。

永远不要以期限紧作为不花精力保持代码整洁的借口,制造混乱无助于赶上期限,只能拖慢你,让你错过期限。

赶上期限唯一的办法,做得快的唯一的办法,就是始终保持代码整洁!

整洁的代码只做一件好事。

命名

名副其实

注意命名,一旦发现有更好的命名,就换掉旧的。

避免误导

bunchOfAccounts, accountGroup, 甚至accounts都比accountlist好,除非它真是个list类型。

0 和 o , 1 和 l , 2 和 Z 是不是长得很像? 别把他们放在一起用!

做有意义的区分

Variable 永远不要出现在变量名中,table不要出现在表中当中,NameString 会比Name更好吗? 难道Name会是个浮点数?

moneyAmount 和 money没区别。

使用读的出来的名称

永远不要使用读不出来的名称,那样很傻。

使用可以搜索的名称

不要给想帮助你的IDE制造麻烦,由此可见长名生于短名,WORK_DAYS_PER_WEEK 比 5 好搜索的多。

明确才是王道

专业的程序员明白明确才是王道,他们善用其能,总是编写让别人能看懂的代码,这是和那些聪明的程序员的最大区别。

命名规则

类名,实例化后的对象名应该是名词单数,而不是动词。

模型应该是名词单数。

表明应该是名词复数。

方法名应该是动词或动词短语。

使用解决方案领域内的名称。

函数

一个函数只能做一件事,要短小,不长于一屏幕,如果一屏有100行代码,那么函数20行封顶。

函数越短小,越集中,就越便于取名字,函数名称要有描述性,长而且据有描述性的名称最比短让人费解的名称好。

函数的参数最理想的是没有,超过三个以上参数就要慎重,可以用数组来代替。

千万不要向函数传入bool值作为参数,这是骇人听闻的做法。

函数要么做什么,要么回答什么,二者不可兼得。

注释

只有代码才能忠实的告诉读者它想干什么,注释本身就是失败,错误的注释更有破坏性。

把力气花在把代码写清楚,直接保证无需编写注释。

注释不能美化糟糕的代码,我们要学会让代码自己阐述自己,例如:

if (employee.isEligibleForFullBenefits()) 比 if (employee.flags>65 & HOURLY_FLAG) 好得多。

哪些注释是必须的?1.法律信息 2.版权 3.警告警示

标签:  Release    更多