
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
我们在前几期的文章中给大家简单介绍了程序员在写代码的时候需要遵循的一些编程规范等内容,而本文我们就再来了解一下,代码层次性表现方法都有哪些。
1、缩进、空格与空行
缩进、空格与空行造就了代码的层次性和规律性,有助于直观、快速、准确地理解业务逻辑。没有缩进、空格和空行的代码可读性极差。
2、缩进
缩进表示层次对应关系。使用Tab键缩进还是空格缩进长期以来备受争议,形成两大阵营。通常支持空格的人数多于支持Tab键的人数。这时候Tab键方一般都会提出∶"空格不是有2、4、8个之分吗?不如让空格方继续投票一下,我们Tab键方还是非常团结一致的"。
由于不同编辑器对Tab的解析不一致,因此视觉体验会有差异,而空格在编辑器之间是兼容的。2个空格缩进的层次区分度不明显,超过4个空格的缩进方式又留白过多,且大多数IDE默认为4个空格缩进,所以我们采用4个空格的缩进方式。
3、空格
空格用于分隔不同的编程元素。空格可以让运算符、数值、注释、参数等各种编程元素之间错落有致,方便快速定位。空格的使用有如下约定∶
(1)任何二目、三目运算符的左右两边都必须加一个空格。
(2)注释的双斜线与注释内容之间有且仅有一个空格。
(3)方法参数在定义和传入时,多个参数逗号后边必须加空格。
(4)没有必要增加若干空格使变量的赋值等号与上一行对应位置的等号对齐。
(5)如果是大括号内为空,则简洁地写成{}即可,大括号中间无须换行和空格。
(6)左右小括号与括号内部的相邻字符之间不要出现空格。
(7)左大括号前需要加空格。
4、空行
空行用来分隔功能相似、逻辑内聚、意思相近的代码片段,使得程序布局更加清晰。在浏览代码时,空行可以起到自然停顿的作用,提升阅读代码的体验。哪些地方需要空行呢?在方法定义之后、属性定义与方法之间、不同逻辑、不同语义、不同业务的代码之间都需要通过空行来分隔。
5、换行
代码中需要限定每行的字符个数,以便适配显示器的宽度,以及方便CodeReview时进行diff比对。对于无节制的行数字符,需要不断地拉取左右滚动条或者键盘移动光标,那是多么差的体验。
6、方法行数限制
水平方向上对字符数有限制,那么垂直方向上呢?对于类的长度,只要类功能内聚,不做强制要求。但方法是执行单位,也是阅读代码逻辑的高粒度模块。庞大的方法容易引起阅读疲劳,让人抓不住重点。代码逻辑要分主次、个性和共性。不要把不同层次的逻辑写在一个大方法体里,应该将次要逻辑抽取为独立方法,将共性逻辑抽取成为共性方法(比如参数校验、权限判断等),便于复用和维护,使主干代码逻辑更加清晰。
高内聚、低耦合是程序员熟悉的口号。如何内聚和解耦,其实方法的行数限制就引发了这些维度的思考。把相关的功能强内聚,把弱相关的功能拆解开来,重新抽象、重新封装。在拆分方法的过程中,通常会纠结对参数的处理,因为拆分的各个方法之间需要通过参数才能传递数据。有这种纠结的前提是方法需要传入大量的参数,事实上这是另外一个话题。限制参数列表过长的方式有很多,比如包装成类、隐式传递或放在集合中等。
7、控制语句
控制语句是底层机器码跳转指令的实现。方法内部的跳转控制主要由条件判断语句和循环语句实现。跳转能力使程序能够处理复杂逻辑,具备像人一样的判断能力和记忆回溯能力。条件判断主要由if、switch、三目运算符组成。循环严格意义上也是一种跳转,主要由for、while、do-while组成。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。