![]() |
1
34
我同意你对这个案子的看法。可读性是关键。我确信编译器在这两种情况下都会生成相同的可执行文件,编译器和今天一样智能。 但我也不会声称“总是使用一次使用的变量”。例子:
没有必要,因为
读起来同样好——如果不是更好的话。但是,当然,并非所有案件都如此明确。毕竟,“可读性”是一个主观术语。 |
![]() |
2
24
你所有的理由在我看来都是合理的。 为了避免使用中间变量,在需要单个表达式的情况下(例如Java/C#中的成员变量初始化),但在适用的情况下引入额外的变量以提高清晰度是绝对可以的。显然,不要这样做 论证到 每 方法,但适度会有很大帮助。
|
![]() |
3
19
你的同事似乎不一致。
|
![]() |
4
6
在这件事上,我完全同意你的观点。
|
![]() |
5
5
什么
虽然我同意你的想法,但添加额外的变量可以在方法中引入额外的概念,而这个概念可能并不总是与方法的总体目标相关。因此,过度添加变量也可能 增加 方法复杂性和易读性降低。注意以下用法 过度 在这里。 |
![]() |
6
3
我想在某些情况下,它可能会对性能产生影响。特别是在这个例子中:
|
![]() |
7
2
|
![]() |
8
2
我认为这是一个基于你希望你的代码有多整洁的判断。我也认为你和你的同事都是正确的。 在这种情况下,我会根据您提供的代码(出于性能原因)支持您的同事,但正如我之前所说,这确实取决于使用它的环境,我认为您的立场是完全可以接受的。 我想指出的是,为曾经使用过的参数创建变量可能毫无意义,除非它们是常量变量或需要在许多地方使用的东西。
|
![]() |
9
2
创建一个新变量意味着读者还需要了解一个概念。(考虑极端情况:int b=a;c=b;)如果一个方法非常复杂——需要分解——那么额外的概念是值得付出的代价,那么你应该全力以赴,把它分成两个方法。通过这种方式,您可以获得有意义的名称和较小的尺寸。(对于你的原始方法来说,它更小:如果就像你说的那样,那么人们通常不需要阅读辅助方法。) 这是一种概括,特别是在一种有很多添加新方法的样板的语言中,但你不会经常不同意这种概括,以至于值得在你的风格指南中省略。 |
![]() |
10
2
原则上我完全赞同你的同事,但在这种情况下我不同意。
|
![]() |
11
1
如果变量被使用了多次。因此,您将立即让眼睛向下扫描代码,看看它是否在更多地方使用。函数越长,你就越需要查看是否能找到它。
|
![]() |
12
0
我过去就是这么编码的。如今,我试图尽量减少中间变量。如果中间变量是不可变的,那么使用它是完全可以的。 |
![]() |
13
0
而不是:
因此,在许多情况下,真的没有性能上的理由不使用它。 |
![]() |
14
-1
同意
卡尔 |
![]() |
Glory Raj · 有什么方法可以使这两个块具有共同的功能吗 3 年前 |
![]() |
Justin · Python自属性重命名 7 年前 |
![]() |
Sabutobi · 长dict属性行的重构 7 年前 |
![]() |
Falco Alexander · 简单LINQ重构/样式 7 年前 |
|
05bs001 · Euler 12需要优化 7 年前 |
![]() |
slartidan · 如何将lambda表达式重构为方法引用? 7 年前 |
|
Alex · 在Java类中频繁使用与映射键相同的字符串[已关闭] 7 年前 |