我见过的每个编码标准都对一行中的字符数有建议或绝对限制.在这个限制范围内有各种各样的工作方式,但我没有看到这方面的任何具体指导.
显然,如果可能的话,不要写过长的行.
但是,如果这不实用呢?如何处理长线?
这里有几个例子
if ($Stmt = $Mysqli->prepare("SELECT color, pattern, size, manufacturer, mfgSku, storeLocation, aisle, status FROM tblItems WHERE ourSku = ?")) {
要么
$flavors = array ('chocolate', 'strawberry', 'vanilla', 'cookie dough', 'chocolate chip', 'mint chocolate chip', 'rocky road', 'peach', 'fudge brownie', 'coffee', 'mocha chip');
要么
$Stmt->bind_result( $this->_firstName, $this->_lastName, $this->_BillToAddress->address1, $this->_BillToAddress->address2, $this->_BillToAddress->city, $this->_BillToAddress->state, $this->_BillToAddress->zip, $this->_BillToAddress->country, $this->_email, $this->_status, $this->_primaryPhone, $this->_mobilePhone );
在每个示例中,冗长代码的缩进是不同的.这样做有更好或更"标准"的方式吗?额外的行总是应该以相同的方式缩进.或者这样可以吗?
在每个示例中都可以看到一种模式 - 它们缩进到函数的第一个参数.这是一个很好的标准,因为它将数据从水平转换为垂直,列允许轻松阅读.
对于其他行长度问题,例如冗长的计算,首选方法是将其分解.计算朱利安日期或复活节是通过几个步骤而不是一个长计算完成的.
我个人的偏好是以下几点;
$Stmt->bind_result( $this->_firstName, $this->_lastName, $this->_BillToAddress->address1, $this->_BillToAddress->address2, $this->_BillToAddress->city, $this->_BillToAddress->state, $this->_BillToAddress->zip, $this->_BillToAddress->country, $this->_email, $this->_status, $this->_primaryPhone, $this->_mobilePhone );
这样,右括号和分号与打开调用位于相同的缩进上.并非所有语言都支持在方法调用的另一行上使用参数...
上下文决定了你选择哪一个.最终,你正在编写代码以供人类阅读.如果以不同方式缩进代码块会使其更容易阅读,那么就这样做.
在进行大量SQL工作时,我发现自己很容易进行一种不寻常的缩进风格;
INSERT INTO someTable ( id, name, age, address1, address2, ) VALUES ( 2, 'Bob' 25, '12 Fake Street', 'The Moon' )
实际上我觉得它比长参数列表的任何其他布局更容易阅读.