3.6 换行
当一个表达式无法容纳在一行内时,可以依据如下一般规则断开之:
– 在一个逗号后面断开- 在一个操作符前面断开- 宁可选择较高级别(higher-level)的断开,而非较低级别(lower-level)的断开- 新的一行应该与上一行同一级别表达式的开头处对齐- 如果以上规则导致你的代码混乱或者使你的代码都堆挤在右边,那就代之以缩进8个空格。
以下是断开方法调用的一些例子:
somemethod(longexpression1, longexpression2, longexpression3, longexpression4, longexpression5);
$var = somemethod1(longexpression1, somemethod2(longexpression2, longexpression3));
以下是两个断开算术表达式的例子。前者更好,因为断开处位于括号表达式的外边,这是个较高级别的断开。
$longname1 = $longname2 * ($longname3 + $longname4 – $longname5) + 4 * $longname6; //使用这种缩进方式
$longname1 = $longname2 * ($longname3 + $longname4 - $longname5) + 4 * $longname6; //避免这种
以下是两个缩进方法声明的例子。前者是常规情形。后者若使用常规的缩进方式将会使第二行和第三行移得很靠右,所以代之以缩进8个空格
//传统的缩进方式function somemethod($anarg, $anotherarg, $yetanotherarg, $andstillanother) {…}
//利用8个连续空格避免过渡的缩进function horkinglongmethodname($anarg, $anotherarg, $yetanotherarg, $andstillanother) {…}
if语句的换行通常使用8个空格的规则,因为常规缩进(4个空格)会使语句体看起来比较费劲。比如:
//不要使用这种缩进方式if ((condition1 && condition2) || (condition3 && condition4) ||!(condition5 && condition6)) { //错误的换行方式,没有进行缩进 dosomethingaboutit(); //条件与此句对齐,造成阅读程序时很可能漏过此句}
//应该使用这种缩进方式if ((condition1 && condition2) || (condition3 && condition4) ||!(condition5 && condition6)) { dosomethingaboutit();}
//或者这样的缩进方式也可以if ((condition1 && condition2) || (condition3 && condition4) ||!(condition5 && condition6)) { dosomethingaboutit();}
这里有三种可行的方法用于处理三元运算表达式:
$alpha = (alongbooleanexpression) ? beta : gamma;
$alpha = (alongbooleanexpression) ? beta : gamma;
$alpha = (alongbooleanexpression) ? beta : gamma;
http://www.bkjia.com/phpjc/532599.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/532599.htmltecharticle3.6 换行 当一个表达式无法容纳在一行内时,可以依据如下一般规则断开之: – 在一个逗号后面断开 – 在一个操作符前面断开 – 宁可选择较…