C#概述.大括号或地区

Mid*_*hat 0 c# code-formatting

我正在维护一个大型的asp.net应用程序.

我的目标是确定为响应特定票证而添加的行.虽然可以使用我们的SVN,但我想把它放在代码中.因为这些更改对于代码的第一次读者来说看起来很奇怪.

那么哪种概述方法更适合于此目的

{
//response to ticket #xxxxx
...
...
..
}
Run Code Online (Sandbox Code Playgroud)

要么

#region response to ticket xxxxx
..
...
..
#endregion
Run Code Online (Sandbox Code Playgroud)

或者是否有更适合此的其他方法

Rex*_*x M 13

在两者之间,绝对使用评论 - 它们非常灵活.区域对这种事情没有好处 - 如果多个票证需要重叠的代码更改怎么办?这在较长的评论中很容易解释.

但是,无论如何,我都反对在评论中提出这种信息.实际上,没有人会偶然发现一年前编写的代码,并查看机票.代码应该是不言自明的,并且在非常奇怪的情况下,代码应该描述代码实际上做了什么,而不是为什么.为了解决您对新读者的特殊关注 - 您的同事不需要证明为什么代码是这样的.他们会认为这是出于某种原因,并且在进行其他更改时将始终尝试维护现有功能.这是基本的职业行为.

如果有人需要历史信息,您的变更集应与故障单#相关联.有一个理由列表,说明为什么它们存储在每个文件中的方式.它存储在代码库的外部 - 在源代码控制或其他存储库中.

根据我的经验,将票号放在代码中通常是不良做法的症状.它表示偏离设计而不是固定设计.一个票号说:"这是怎样的代码,这是怎么回事,现在." 代码库不应该反映他们自己的历史 - 重要的是他们现在的工作方式.