2010-5-12 11:14:19   

一些企业在招聘程序员的时候,总会特意提出一个要求,即“要求具有良好的编码规范”。确实现在程序开发人员已经不在是单枪匹马的单干,而是讲究团体作战。此时就要求团队内的乘员都可能够恪守代码的编写规范,这对于乘员之间共享代码、排错等作业都具有特别现实的意义。这在Java语言中当然也不例外。笔者借这次机会,就跟大众共享一下Java源代码的折行准则。虽然这基本不涉及到功能层面的内容,但是对于提高代码的阅读性却有不可替代的作用。

一、代码的最大长度。

虽然在Java的编译器中对于代码的最大长度没有硬性的规定。但是假如代码的长度太长,超过了编译器的最当行宽,显然阅读起来比较麻烦。为此根据笔者的体会,通常情况下Java源代码的行长度不应该大于80个字符。假如超过这个长度的话,在一些开发工具和编辑器上就无法 很好的显示。如须要通过滚动条来显示后面部分的代码。当其他项目成员阅读这超长的代码时,就会看得眼花缭乱。当人的温饱疑问处理了之后,就须要开始留心美观方面的疑问。所以程序开发人员在开发使用程序的时候,要尽量防止书写长的代码。假如代码的每行长度确实须要超过80个字符的话(最好将每行代码的长度控制在70个字符左右),那么就须要对代码执行 分行。

二、在恰当的地点对代码执行 分行。

笔者建议将Java源代码每行的长度控制在70个字符、最大不超过80个字符。当超过这个字符长度的时候,开发人员就须要思虑在恰当的地点对他们执行 分行处理。不过这个分行也不是说开发人员想在哪里执行 分行就在哪里执行 分行。这个分行是有一定技巧的。虽然这些技巧大部分并不是强制性的规定,但是都是一些专家们的体会总结,可以提高代码的阅读性。为此笔者期盼各位程序开发能够严格的遵守。

技巧一:高层折行优于低层折行。

这个技巧是说,在思虑对代码执行 折行处理的时候,须要留心代码的层次性。如某段代码涉及到混合四则运算,而四则运算又有明显的运算顺序,此时对代码执行 折行时就最好能够在四则运算的重要顺序上执行 折行处理。如现在有如下的一段代码:

Mynum=mynum1*(mynum1+mynue2+mynum3-mynum4)+8*mynum5

假如要对这段代码执行 折行的话,该在哪个地点参加一个折行符号呢?假如是笔者处理的话,笔者会按如下的格式对代码执行 折行处理。

Mynum=mynum1*(mynum1+mynue2+mynum3-mynum4)
+8*mynum5

这首要是根据四则运算的运算层次来执行 折行的。显然,*符号的优先级要比+符号要高。所以在+号前面对其执行 折行处理,那么就可以一目了然的反应出代码的运算层次。可以大幅度的提高代码的阅读性。所以代码折行的第一个技巧就是高层折行优于低层折行。如此的话,可以使得使用程序的结构代码更加的清晰,更简单被团队成员所理会。

技巧二:在运算符前面执行 折行处理。

其实在如上的折行技巧中,还潜藏着一个准则,即在运算符之前执行 折行。如上例所示,笔者就是在+号前面执行 折行,而不是在+号后面执行 折行处理。这首要也是思虑到代码的可读性。如上面这个例子中,假如在+号后面执行 折行处理的话,则下一行就会给人一种凭空多出来的感觉,显得代码很不连贯。跟这个准则类似,假如在折行处理的时候遇到逗号时,那么最好能够在逗号后面执行 折行。如在一个要领中,须要传入5个参数。此时假如代码行比较长,那么就须要在多个参数之间执行 折行处理。此时最理想的折行位置,就是在某个参数的逗号后面。留心,使在逗号后面执行 折行,而不是在逗号前面。因为一个参数一个逗号是匹对的。而假如一个逗号加一个参数,则让人看起来很不舒服。

技巧三:这行代码的对起方式。

当不得已对代码执行 折行处理时,下一行的代码应该与其同等级的代码行左对齐。如上例所示,在+号前面将某一段四则运算公式执行 折行处理的时候,其+号符号已经采取缩进处理。其缩进后的成效就是要与其同等级的代码行左对齐。如此的话,明眼人一看就知晓这段代码采取过折行处理;而且跟上一行代码的层次联系。当一段代码被分割成三行甚至跟更多行数的时候,这个准则会特别的有用。假如能够严格遵守这个准则,即使将代码分割成多行,看起来也不会觉得那么混乱。反而给人一种比较有层次的感觉。

另外在采取缩进处理的时候,可以运用 Tab键来提高缩进处理的效率。因为直接按空格的话,有可能空格字符数目不一致,会让人觉得层次不起,产生比较大的混乱。通常情况下,当代码行两侧距离页边的距离比较大,看其来不如何舒服时,可以在代码行中通过插入TAB键(会在代码行中连续插入8个字符)来提高代码的阅读性,让代码的缩进实现统一。

技巧四:为变量寻找一个合适的位置。

在编写使用程序时,尽量将变量声明放置在一个代码块的开始处,也就是说{}花括号的开始位置。虽然说可以在须要运用变量的时候再对其执行 声明。但是笔者不同义如此操作。因为假如在的呢感到运用变量的时候再来声明变量时,会降低代码的可读性。同理,也须要防止低层声明与高层声明重复,这样会惹起代码混乱并可能引发程序功能性不正确。而且这种不正确在后续的排错中很难被发觉。为此要在使用程序开发的时候就要尽量防止这种不正确。

在声明变量的时候,有时候可能代码很基本,生命变量的行总共加起来也不会超过十个字符。此时能否把多个变量的声明写在同一行呢?从就技能上来说,这是可行的。也就是说,Java编译器准许将多个变量定义在同一行上。但是从阅读性上来说,这并不是很好的做法。笔者的建议是,即使变量定义再基本,或者变量比较多,也最好分行执行 变量的声明。也就是说,一行声明一个变量。这可以提高代码的可阅读性。而且有时候往往须要对变量加一个注释说明变量的用途,假如以行定义一个变量,添加行注释也相对基本许多。

总之,以上的这些折行的准则基本上不会影响到代码的运行。但是,对于代码的维护与后续的排错、升级、二次开发等等具有不可忽视的作用。而且现在基本上使用程序开发式团队开发,故大众都遵守同样的代码编写规范是特别首要 的。笔者在开发一个使用程序的时候,事先都会花一定的时间,跟项目成员强调这些折行的准则。目的只有一个,就是提高代码的可读性,便于后续代码的共享与维护。毕竟后续面对这些代码的,并不是客户,而是咱们自己。咱们程序员在编写代码的时候,无法够搬起石头砸自己的脚。笔者认为,现在一个合格的程序人员,不仅技能功底上要过得硬,而且还必须要遵守这些“无形准则”的约束。难怪现在这么多企业在挑选程序开发人员的时候,都会注明“良好的编码规范”。现在对于这些无形中的条条框框,项目经理已经开始重视起来。