《JAVA代码规范》(六)通用代码格式 - 语句、SQL(2.9-2.10)
转载自:http://www.javadt.com/thread-368-1-1.html
?
?
2.9? ?? ?语句2.9.1? ?? ???简单语句每行至多包含一条语句,例如:??argv++;? ?? ? // 正确??argc--;? ?? ? //正确??argv++; argc--;? ?? ? // 避免!? ?? ?? ?2.9.2? ?? ???复合语句复合语句是包含在大括号中的语句序列,形如"{ 语句 }"。例如下面各段。?? ?? ???大括号中的语句应该较之复合语句缩进一个层次。?? ?? ???左大括号"{"应位于复合语句起始行的行尾;右大括号"}"应另起一行并与复合语句首行对齐。。?? ?? ???大括号可以被用于所有语句,包括单个语句,只要这些语句是诸如if-else或for控制结构的一部分。这样便于添加语句而无需担心由于忘了加括号而引入bug。2.9.3? ?? ???返回语句一个带返回值的return语句不使用小括号"()",除非它们以某种方式使返回值更为显见。例如:??return;??return myDisk.size();??return (size ? size : defaultSize);??2.9.4? ?? ???if,if-else,if else-if else语句if-else语句应该具有如下格式:??if (condition) {? ?? ?statements;??}??if (condition) {? ?? ?statements;??} else {? ?? ?statements;??}??if (condition) {? ?? ?statements;??} else if (condition) {? ?? ?statements;??} else{? ?? ?statements;??}? ?? ?注意:if语句总是用"{"和"}"括起来,避免使用如下容易引起错误的格式:??if (condition) //避免!省略 {}!? ?? ?statement;??2.9.5? ?? ???for语句一个for语句应该具有如下格式:??for (initialization; condition; update) {? ?? ?statements;??}? ?? ?一个空的for语句(所有工作都在初始化,条件判断,更新子句中完成)应该具有如下格式:??for (initialization; condition; update);? ?? ?当在for语句的初始化或更新子句中使用逗号时,避免因使用三个以上变量,而导致复杂度提高。若需要,可以在for循环之前(为初始化子句)或for循环末尾(为更新子句)使用单独的语句。2.9.6? ?? ???while语句一个while语句应该具有如下格式??while (condition) {? ?? ?statements;??}? ?一个空的while语句应该具有如下格式:??while (condition);? ?? ?? ?2.9.7? ?? ???do-while语句一个do-while语句应该具有如下格式:??do {? ?? ?statements;??} while (condition);? ?2.9.8? ?? ???switch语句一个switch语句应该具有如下格式:??switch (condition) {??case ABC:? ?? ?statements;? ?? ?/* falls through */??case DEF:? ?? ?statements;? ?? ?break;??case XYZ:? ?? ?statements;? ?? ?break;??default:? ?? ?statements;? ?? ?break;??}? ?每当一个case顺着往下执行时(因为没有break语句),通常应在break语句的位置添加注释。上面的示例代码中就包含注释/* falls through */。每个switch语句应包括一个default选项。default选项里的break是冗余的,但可预防以后增加另一个选项后没有中断执行导致错误的情况出现。2.9.9? ?? ???try-catch语句一个try-catch语句应该具有如下格式:??try {? ?? ?statements;??} catch (ExceptionClass e) {? ?? ?statements;??}? ?一个try-catch语句后面也可能跟着一个finally语句,不论try代码块是否顺利执行完,它都会被执行。??try {? ?? ?statements;??} catch (ExceptionClass e) {? ?? ?statements;??} finally {? ?? ?statements;??}2.10?SQLSQL语句中所有的关键字大写,主语句太长需换行时,要求缩进四个空格。子语句提行书写并缩进一个四个空格。当where后带有两个以上的条件时,条件需换行书写,如有逻辑符号则应写在每个条件语句的前面。例如:SELECT??字段1,字段2,字段3,Count(*)? ?? ?? ?FROM??表1,表2? ?? ?? ?WHERE??条件1? ?? ?? ?? ?? ?? ? AND??条件2? ?? ?? ?? ?? ?? ? OR? ?条件3? ?? ?? ?GROUP BY字段1,字段2,字段3? ?? ?? ?ORDER BY字段1,字段2,DESC 字段3