本文首发于微信公众号twowinter,转载请注明作者:http://blog.csdn.net/iotisan/
点此进入公众号查看。
熟悉twowinter的朋友都知道我喜欢罗永浩,由于这层粉丝情结,受到了很多正面影响,获取了一些专业以外的知识。
今天想分享的观点就是和罗老师擅长的设计有关,似乎是锤子科技的池建强老师推荐了这本书 –《写给大家看的设计书》。书中提到了设计的四大基本原则,很有意思,有兴趣的朋友可以找来看看。
设计学上的亲密性原则
设计原则的第一个是亲密性:将相关项组织在一起,它们会形成一个视觉单元,有助于组织信息,减少混乱,提供清晰的结构。
书中的这个案例比较经典,不难发现,借助空行,右边这个列表将相关内容做了聚合后,表达明显变得清晰。
推广开去,这样的设计思想可以运用在我们的文档中,以及代码中。
代码的垂直留白
谷歌C++编程规范之中对此做了建议,那就是适当的留白。我们将内容相关的代码聚合在一起,使用空行与其他代码块做点小分割,这样可以体现出自己的逻辑思路,使得代码更加易读。
除了上面这一点,还有一点很多人没注意。既然留白这么重要,不要随随便便地留白。
垂直留白越少越好。这不仅仅是规则而是原则问题了:不是非常有必要的话就不要使用空行。同一屏可以显示越多的代码,程序的控制流就越容易理解。当然,过于密集的代码块和过于疏松的代码块同样难看,取决于你的判断,但通常是越少越好。
twowinter有个同事,人很洒脱,代码也跟着洒脱,在他的代码中随处可见恣意驰骋的空白,以及大块大块的调试代码。给审核的人造成了很大的负担,这些空行和无效注释都应该在提交代码前就自己将之扼杀在摇篮之中了。给别人添麻烦,多不好。
是的,你应该也能想到,这个代码有点乱。一个人的代码缺乏条理,则很可能在工作中也是个同样缺乏条理的人。(注意,这是本文的金句,与诸君共勉。)
所以,这个同事离职了。。。
代码的水平留白
说到了垂直留白,顺便也提下水平留白。前一篇写 if 语句不要任性中就提到了控制语句中要按格式添加空格,使得书写更加规范和美观。
除了可见的留白外,一些不可见的留白也要稍加注意下。
添加冗余的留白会给其他人编辑时造成额外负担,尤其在他们合并代码的时候,即使他们可以去除掉这个空格。因此,不要引入多余的空格。如果你不小心引入了多余的空格要尽快去掉,或者在专门清理空格时去掉(确信没有其他人同时在使用该文件)。
今天CodeReview时就活捉一枚多余空格。
End
设计学上的留白和聚合思想,可以借鉴到我们的日常编码工作中。代码提交之前都应自我审核下,过滤掉多余的空行和空格,避免给他人造成负担。
好了,这就是今天要分享的内容,虽然这里是在分享编程规范,如果你有心的话,也许对文档编写也能有所帮助。