关键思想:
要多问自己几遍:“这个名字会被别人解读成其他的含义吗?”要仔细审视这个名字。
剪切一个段落内容的函数:Truncate(text, max_chars)
不会误解的名字时最好的名字---阅读你的代码的人应该理解你的本意,并且不会有其它的理解。遗憾的是,很多单词在用来编程时是多义性的,例如filter、length、limit。在你决定使用一个名字之前,要吹毛求疵一点,来想象一下你的名字会被误解成什么。最好的名字时不会误解的。
1.命名极限最清楚的方式是在要限制的东西前面加上max_或者min。
推荐使用first和last表示包含的范围;使用begin和end表示包含/排除的范围。
fist | last | ||||
a | b | c | d | ||
begin | end |
2.当给布尔变量或者返回布尔值得函数选择名字时,要确保返回true和false的意义明确。
通常,加上is,has,can,should这样的词,可以把布尔值变得更明确;最好避免使用反义的名字。
3.与使用者的期望相匹配
例如,用户会期望get()或者size()是轻量的方法。
get*()通常当做“轻量级访问器”,简单地返回一个内部成员变量,避免进行复制的操作。
还有size(),如果有运算应该改为countSize(),compute*()等。
审美
大家都愿意读有美感的代码。通过把代码用一致的、有意义的方式“格式化”,可以把代码变得更容易阅读,并且可以读得更快。
三条原则:
使用一致的布局,让读者很快就习惯这种风格;
让相似的代码看上去相似;
把相关的代码行分组,形成代码块。
具体的技巧:
如果多个代码块做相似的事情,尝试让它们有同样的剪影;
把代码按“列”对齐可以让代码更容易浏览;
如果在一段代码中提到A,B,C,那么不要再另一段中说B,C,A。选择一个有意义的顺序并始终使用这样的顺序。
一些排序建议:1.让变量的顺序与对应的HTML表单中<input>字段的顺序相匹配;2.从“最重要”到“最不重要”排序;3.按字母顺序。
用空行来把大块代码分成逻辑上的“段落”。
把声明按块组织起来;
4.个人风格与一致性:一致的风格比“正确”的风格更重要。
例:两种注释方式
函数参数内部:
XXX(
100, /* Kbps */
400, /* millisecs latency */
250, /* jitter */
5, /* packet loss % */);
单独说明:
//XXX(throughput, latency, jitter, packet_loss);
// [Kbps] [ms] [ms] [percent]
转载于:https://blog.51cto.com/xjhznick/1409116