编码标准和生产线长度 [已关闭]

2022-08-30 20:34:39

我见过的每个编码标准对一行中的字符数都有推荐或绝对限制。在此限制内有各种工作方式,但我还没有看到这方面的任何具体指导。

显然,如果可能的话,不要写过长的行。

但是,如果这不切实际呢?长队应该如何处理?

以下是几个例子

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 );

在上述每个示例中,冗长代码的缩进都是不同的。有没有更好或更“标准”的方法可以做到这一点?是否应始终以相同的方式缩进多余的行。或者这样可以吗?


答案 1

我个人的偏好如下;

$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 
);

这样,右括号和分号与开始调用位于同一缩进上。并非所有语言都支持在方法调用的另一行上具有参数...


答案 2

在每个示例中都可以看到一个模式 - 它们缩进到函数的第一个参数。这是一个很好的标准,因为它将数据从水平转置到垂直,并且列允许轻松读取。

对于其他行长度问题,例如冗长的计算,首选方法是将其分解。计算儒略日期或复活节是分几个步骤完成的,而不是一个很长的计算。


推荐