![]() |
1
2
我认为你的“基于表格”的例子 它本身就更容易阅读。问题是我们有50年的基于文本的工具来处理源代码 线 一段文字。您将遇到的两个最明显的问题是:
我想写这个代码。我很喜欢读这个代码。我真的很讨厌在这段代码上进行三方合并。:-) 相比之下,我要冒险说,我认为到目前为止,这里的大多数其他答案都是废话:
(火焰消失!)
最后,出于不同的原因,我认为这两种样式对于这种代码来说都有点糟糕。如果你需要一桌东西,那就用吧
|
![]() |
2
13
|
![]() |
3
5
您描述的“基于表格”布局在某些情况下非常有用:
注意,这个例子是c规则的一个有效例外,即“所有
我不喜欢拘泥于代码布局。遵循编码标准是一件好事。但是一旦你开始做一些事情,比如在函数调用中使用几个长名称的参数,编写linq查询,或者使用匿名方法或复杂的lambda语句,你的代码就可以更容易阅读 打破规则 |
![]() |
4
5
原因很简单。
如果您使用制表符来缩进所有内容,并将其排列成一行,那么在每个人的计算机上看起来都不一样,因为不是每个人都将制表符设置为相同的宽度。有些人将它们设置为3个字符,其他人设置为5个字符,其他人则设置为不同的字符。在你的机器上看起来又漂亮又整洁又像“桌子”的东西,在他们的机器上看起来是一团糟。 在if执行的语句周围加大括号,并正常格式化它。
哦,另一个原因是,不是每个人都用固定字体来编程。信不信由你,有些开发人员使用比例字体。 |
![]() |
5
3
在心里把它们分组,就像在另一个地方一样,我看到了代码的流程和逻辑,然后是细节。这让我更直截了当地把需要的东西塞进脑子里。 |
![]() |
6
3
错误的 . 您的示例可以使用多态性、策略模式或其他明显更好的方法编写,这使得这一点完全没有意义。 |
![]() |
7
2
我学会了上面的话,但我大部分时间都不遵循它-这是不值得的头痛有时。 |
![]() |
8
2
我认为这在很大程度上取决于个人的选择以及使用什么格式。在专业环境中,您希望团队拥有一个所有团队成员都遵循的定义和商定的编码标准。 IDE中有许多工具和外接程序,比如visualstudio,它们使您能够通过解析源代码文件来建议对代码结构的更改。 我发现其中一个非常有用的方法是[StyleCop][1]。 我个人觉得Stylecop有一个统一的编码准则非常有用。 尼莱什 |
![]() |
9
2
如果您觉得需要将代码列表化,那么现在正是思考的时候。闻起来像是重构时间。代码应该像sentense一样可读。 第二个原因是代码可维护性成本。表格化代码更难维护。 |
![]() |
10
2
另外,标签也在说谎。
|
![]() |
11
1
很难说你的样本中发生了什么,但看起来你做了很多。如果是这样的话,在我看来,你想把这么多的逻辑塞进4行是错误的。这是C#,不是Python。说到C#vs Python,您没有为if语句体使用大括号,这是许多人不喜欢的。StyleCop也不喜欢。说到StyleCop,您可能还需要运行FxCop和ReSharper—这可能会提供一种改进代码的很酷的方法。你为什么不用
我上面写的不是最好的代码,但我试着清理它。不要担心额外的变量-优化编译器会处理它们。一定要追求逻辑可读性。在我看来,把事情变成表格形式是没有帮助的。如果一旦StyleCop满意,代码就很难阅读,那么您可能需要重新考虑它,以及简化逻辑/状态等。
|
![]() |
12
1
把重点放在给出的例子上,我会这样格式化它。我觉得你的两个例子都很难读。
|
![]() |
13
1
尽管我也发现您的第二个(类似表格的)示例更具可读性,但我不会使用它,因为
|
![]() |
14
1
如果编程语言、标记语言和文本编辑器都能相互协作,允许文本格式合理地调整自己以适应代码,那就太好了。例如,如果与一行代码关联的注释太长,无法放在该行的右侧,并且如果后续代码行较短,则允许注释换行并保留在后续代码行的右侧,用某种箭头或方框表示注释的续行都属于第一行代码。 不幸的是,我知道没有一种广泛使用的编程语言能够很好地嵌入标记。 |
![]() |
15
1
太麻烦了。 |
![]() |
16
0
所以这就是为什么代码格式化标准很重要;没有一种真正的方法可以让所有人都满意地格式化代码。 |
![]() |
17
0
或者
请注意,这两个都是完全虚构的例子。我来来回回,但我确实有点喜欢一行健全性检查/返回语句的简洁性。 |
![]() |
18
0
创建语句块的花括号在整个行业中更为常见,现在就养成这个习惯吧,因为如果你这样写代码,大多数人会认为你的代码看起来很小。 另一方面,我看到这个规则的原因之一是,if语句总是使用大括号,而从不使用if(condition)单行语句;是因为一行代码在4个月后更改,导致if语句在您没有意识到的情况下跳转到下一个语句,这并不少见,因此作为安全起见,if应该始终是:
|
![]() |
A B · C#Excel自动调整列避免长文本时出错 7 月前 |
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 7 月前 |
![]() |
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 7 月前 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 8 月前 |