gpt4 book ai didi

c# - 关于不同的编码风格/指南

转载 作者:行者123 更新时间:2023-11-30 22:09:01 27 4
gpt4 key购买 nike

昨晚我脑子里冒出一件事。我想知道为什么我们在项目之间仍然有不同的编码风格。由于风格是个人的东西,我认为最好这样对待它。我们为什么不呢?这有什么技术限制吗?

我举几个例子:

// Code sample 1
randomObject
.Colors
.Where(item => item.Color == Color.Red)
.Count();

// Code sample 2
randomObject.Colors.Where(item => item.Color == Color.Red).Count();

// Code sample 3
randomObject.Colors.Count(item => item.Color == Color.Red);

// Code sample 4
if(criteria) {
// Do stuff
} else {
}

// Code sample 5
if( criteria )
{
// Do stuff
}
else {}

代码示例 1 和 2 在技术上做同样的事情(如果我没记错的话)。另一方面,代码示例 2 和 3 不同,它们在后台做了一些不同的事情,但给出了相同的结果。因此不能将其重写为代码示例 1,但可以将其格式化。代码示例 4 和 5,我想你以前见过它们,我认为它们不需要进一步解释。

所以,是什么让我想知道......我们不能在本地使用偏好的编码风格,并且在提交/ checkin 之前,代码将根据服务器设置重新格式化。

** 附带信息:我在不同的存储库中编写代码,代码风格各不相同。在这些之间切换总是意味着我必须改变我的心态以匹配他们的风格。

** 大声思考:我们不能提交/ checkin AST是吗?

最佳答案

您可以考虑使用像 ReSharper 这样的工具对于 VS(不幸的是不是免费的),它提供可定制的代码格式提示。您可以为每个存储库设置不同的设置。

我的意见是坚持“官方”存储库风格,如果有的话,尽管它可能很烦人。它提高了代码对所有开发人员的可读性。如果没有这样的标准,那就尝试选择一种不会对你的同事造成障碍的风格。

例如,样本 5 比样本 4 更可取,因为它不那么拥挤,而且更容易看到哪条线在做什么,至少在我看来是这样。我也认为样本 1 比样本 2 好,尽管我会使用另一种变体:

randomObject.Colors
.Where(item => item.Color == Color.Red)
.Count();

此外,样本 2 和样本 3 给出了相同的结果,但样本 3 更高效,而且更简洁。我认为这是非常可取的。

关于您使用自己的风格在本地编写代码并在提交之前重新格式化的想法,您会怎么做?有一些工具可以做到这一点,但我相信不能盲目信任它们,因此您需要检查重新格式化后一切是否按预期工作。这需要时间,可能比从一开始就使用“标准”风格编码所花费的时间还要多。您可以手动重新格式化,但可能更糟。

关于c# - 关于不同的编码风格/指南,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21847770/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com