格式
5.1 格式的目的
抛掉“让代码能工作”的想法,今天编写的功能,可能在下个版本中修改,但代码的可读性却会对以后可能的修改行为产生深远的影响,
5.2 垂直格式
5.2.1 向报纸学习
名称应当简单且一目了然,源文件最顶部应该给出高层次概念和算法,细节应该往下渐次展开,知道找到源文件中最底层的函数和细节
5.2.2 概念间垂直方向上的区隔
代码都是从上往下读,从左往右读。每行展现一个表达式或一个字句,每组代码行展示一条完整的思路。这些思路用空白行隔开,这条及其简单的规则极大地影响代码的视觉外观,每个空白行都是一条线索,标示出新的独立的概念,你的目光总会停留于空白行之后那一行
5.2.3 垂直方向上的靠近
5.2.4 垂直距离
5.2.5 垂直顺序
我们想自上向下展示函数调用依赖顺序,被调用的函数应该放在执行调用的函数小面,这样就建立一种自顶向下贯穿源代码模块良好信息流
5.3 横向格式
遵循无需拖动滚动条到右边的原则
5.3.1 水平方向上的区隔与靠近
5.3.2 水平对齐
5.3.3 缩进
5.3.4 空范围
5.4 团队规则
包括什么地方放置括号,缩进几个字符,如何命名类,变量和方法,等等,把鬼咋编写进IDE的代码格式功能,绝对不要用各种不同风格来编写源代码,这样会增加其复杂度
5.5 鲍勃大叔的格式规则