相关疑难解决方法(0)

是否有正当理由在当天和年龄的代码文件中强制执行最大宽度为80个字符?

认真.在一台22英寸的显示器上,它只能覆盖屏幕的四分之一.我需要一些弹药来制定这个规则.


我不是说不应该有限制; 我只是说,80个字符非常小.

policy coding-style text-editor

156
推荐指数
17
解决办法
4万
查看次数

在哪里包装一行代码,特别是长参数列表?

包装代码行的首选方法是什么,特别是涉及长参数列表时?

有几个与包装线有关的问题(比如在编写代码时是否包装文本?还是行宽格式标准),但是我找不到一个涵盖一行代码的地方.

假设我们有一行代码可以像这个例子一样继续前进:

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)

我实际上喜欢这种格式,因为它的视觉吸引力,但它也可以在视觉上将参数与列表所属的方法分开.另外,我更喜欢单个方法调用而不占用太多行.

所以,我的问题是,如果不首先考虑防止行代码过长的问题,你会如何推荐包装代码行?具体来说,当涉及长参数列表时,哪里是打破一行代码的好地方?

language-agnostic word-wrap

24
推荐指数
4
解决办法
1万
查看次数

编码标准和行长度

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

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

但是,如果这不实用呢?如何处理长线?

这里有几个例子

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)

在每个示例中,冗长代码的缩进是不同的.这样做有更好或更"标准"的方式吗?额外的行总是应该以相同的方式缩进.或者这样可以吗?

php coding-style

19
推荐指数
4
解决办法
1万
查看次数

如何以及在哪里打破长行代码?

可能重复:
在哪里包装一行代码,特别是长参数列表?
编码标准和行长度

嗨,

  • 你在哪里打破长行代码?(例如:运营商之前或之后)
  • 如果它是一个长字符串,你是否将字符串拆分为子字符串?
  • 在打破长线时还存在哪些其他情况?

long-lines

6
推荐指数
1
解决办法
3万
查看次数