相关疑难解决方法(0)

你能简化这个算法吗?

一个是数学家.这已经遍布办公室,我们希望看到谁可以提出更好的优化版本.

(((a+p) <= b) && (a == 0 || a > 1) && (b >= p)) && 
    ((b - (a + p) == 0) || (b - (a + p) > 1))
Run Code Online (Sandbox Code Playgroud)

编辑:所有数据都是正整数

编辑:更好==为简单而重构

algorithm refactoring

25
推荐指数
3
解决办法
3190
查看次数

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

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

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

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

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万
查看次数

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

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

嗨,

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

long-lines

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