认真.在一台22英寸的显示器上,它只能覆盖屏幕的四分之一.我需要一些弹药来制定这个规则.
我不是说不应该有限制; 我只是说,80个字符非常小.
包装代码行的首选方法是什么,特别是涉及长参数列表时?
有几个与包装线有关的问题(比如在编写代码时是否包装文本?还是行宽格式标准),但是我找不到一个涵盖一行代码的地方.
假设我们有一行代码可以像这个例子一样继续前进:
int SomeReturnValue = SomeMethodWithLotsOfArguments(Argument1, Argument2, Argument3, Argument4);
Run Code Online (Sandbox Code Playgroud)
怎么应该包裹?
以下是我能想到的几种方式,以及它们的一些缺点:
int SomeReturnValue = SomeMethodWithLotsOfArguments(Argument1, Argument2,
Argument3, Argument4);
Run Code Online (Sandbox Code Playgroud)
我个人不喜欢这个选项,因为格式似乎在视觉上将参数列表与我试图调用的方法分开,特别是因为在新行上的orphanged参数正上方有一个赋值等号("=").
所以,有一段时间我采用了以下方法:
int SomeReturnValue = SomeMethodWithLotsOfArguments(Argument1,
Argument2,
Argument3,
Argument4);
Run Code Online (Sandbox Code Playgroud)
这里,参数都捆绑在一起,都在方法的第一个参数的一边.但是,一个问题是,由于选项卡缩进的空格数,参数列表不会总是在第二行中排列.(为格式化输入额外的空格会非常耗时.)
int SomeReturnValue = SomeMethodWithLotsOfArguments(
Argument1,
Argument2,
Argument3,
Argument4
);
Run Code Online (Sandbox Code Playgroud)
我实际上喜欢这种格式,因为它的视觉吸引力,但它也可以在视觉上将参数与列表所属的方法分开.另外,我更喜欢单个方法调用而不占用太多行.
所以,我的问题是,如果不首先考虑防止行代码过长的问题,你会如何推荐包装代码行?具体来说,当涉及长参数列表时,哪里是打破一行代码的好地方?
我见过的每个编码标准都对一行中的字符数有建议或绝对限制.在这个限制范围内有各种各样的工作方式,但我没有看到这方面的任何具体指导.
显然,如果可能的话,不要写过长的行.
但是,如果这不实用呢?如何处理长线?
这里有几个例子
if ($Stmt = $Mysqli->prepare("SELECT color, pattern, size,
manufacturer, mfgSku, storeLocation,
aisle, status
FROM tblItems WHERE ourSku = ?")) {
Run Code Online (Sandbox Code Playgroud)
要么
$flavors = array ('chocolate', 'strawberry', 'vanilla', 'cookie dough',
'chocolate chip', 'mint chocolate chip', 'rocky road',
'peach', 'fudge brownie', 'coffee', 'mocha chip');
Run Code Online (Sandbox Code Playgroud)
要么
$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 );
Run Code Online (Sandbox Code Playgroud)
在每个示例中,冗长代码的缩进是不同的.这样做有更好或更"标准"的方式吗?额外的行总是应该以相同的方式缩进.或者这样可以吗?
可能重复:
在哪里包装一行代码,特别是长参数列表?
编码标准和行长度
嗨,