《代码简洁之道》总结五之简洁的格式

1、格式的目的

代码的格式关乎沟通,而沟通是专业开发者的头等大事。


2、垂直格式

可能用大多数为200行、最长500行的单个文件构造出出色的系统,尽管这并非不可违背的原则,但是短文件通常比长文件易于理解。


向报纸学习

报纸由许多篇文章组成;多数短小精悍。有些稍微长点。很少有占满一页的。


概念间垂直方向上的区隔

代码都是从上往下读,从左往右读。每行展现一个表达式或一个子句,每组代码行展示一条完整的思路。这些思路用空白行区隔开来。

每个空白行都是一条线索,标识出新的独立概念。


垂直方向上的靠近

如果说空白行隔开了概念,靠近的代码行则暗示了他们之间的紧密关系。所以,紧密相关的代码应该互相靠近。


垂直距离

函数getPageNameOrDefalult用于给FrontPage函数赋值,该函数的类型可以是void,也可以将该常量FrontPage返回。FrontPage常量可以埋在getPageNameOrDefault函数中,但那样就会把一个众人皆知的常量埋藏到位于不太合适的底层函数中。更好的做法是把它放在易于找到的位置,然后再传递到真实使用的位置。

互相调用是第二位的。有着极强的概念相关性、拥有共同的命名模式、执行同一基础任务的不同变种的函数应该放在一起。


垂直顺序

自上而下展示函数调用依赖顺序。


3、横向格式

应该尽力保持代码短小。死守80个字符的上限有点僵化,代码长长度达到100个字符或120个字符也可以接受,再多的话,就有点肆意妄为了。


水平方向上的区隔与靠近

赋值语句有两个确定而重要的要素:左边和右边。空格字符加强了分隔效果。如totalChars  +=  line.length()

函数名和左圆括号之间不加空格,这是因为函数与其参数密切相关,如果隔开,就会显得毫无关系。

函数调用括号中的参数一一隔开,强调逗号,表示参数是互相分离的。

乘法因子之间没加空格,因为他们具有较高的优先级。加减法运算项之间用空格隔开因为加法和减法优先级较低。如return b*b   -   4*a*c;


水平对齐

对齐一组声明中的变量名,或一组赋值语句中的右值是毫无意义的。

不对齐的声明和赋值指出了重点。如果有较长的列表需要做对齐处理,那问题就是在列表的长度上而不是对齐上。


缩进

类的声明、类的方法相对于该类缩进一个层级。方法的实现相对于方法声明缩进一个层级。代码块的实现相对于容器代码块缩进一个层级,以此类推。


空范围

有时,while或for语句的语体为空,这种结构尽量不使用。如果无法避免,就确保空范围体的缩进,用括号包围起来


4、团队规则

每个程序员都有自己喜欢的格式规则,但在一个团队中工作,就是团队说了算。



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值