当前位置: 首页 > 编程语言 > C#

每个手动创建的代码文件开头都有文件头注释吗?分享

时间:2023-04-10 14:39:11 C#

是不是每个人写的代码文件开头都有一个headercomment?我正在阅读一体化代码框架编码标准文档,其中一项建议是在每个人工创建的代码文件的开头添加文件头注释。这是我第一次看到这样的推荐,对我来说这只是一个不必要的丑陋混乱,但我想知道是否有人可以解释为什么M$推荐这个?它们的例子如下:/******************************ModuleHeader********************************模块名称:项目:版权所有(c)MicrosoftCorporation。此来源受Microsoft公共许可证的约束。请参阅http://www.microsoft.com/opensource/licenses.mspx#Ms-PL。保留所有其他权利。本代码和信息“按原样”提供,不提供任何明示或暗示的保证,包括但不限于针对特定用途的适销性适用性的暗示保证。*************************************************************************************/就个人而言,除非您有理由在您的代码中包含法律免责声明(例如,如果您将开源或与产品一起分发)我发现它限制了在每个源文件中都有一个公共标头。有时,如果您包含来自第三方或开源项目的源代码,您可能必须包含有关该代码的免责声明和来源声明。相反,我更喜欢使用C#XML代码注释,并将我的文档重点放在类型和类上,而不是“模块”或代码文件上。与类型(或方法或枚举等)共存的文档不太可能变得陈旧并提供更好的粒度。还有一些工具可以将这些注释转换成文档,或者用它来提供智能感知支持。从历史上看,这种做法起源于全局函数、常量和结构几乎可以存在于任何地方的语言;并且通常出于组织或编译依赖性原因而位于同一地点。这些与托管/.NET世界几乎完全无关。这对于开源项目、设计为在其他项目、其他人/公司等中重复使用的代码文件等通常很有用。例如,在代码不会离开公司的封闭式公司环境中,它并不是特别有用,团队总是在一起工作并相互了解,不一定是“项目”,而只是对核心产品等的持续更改/增强。与大多数推荐的这种性质的编码标准一样,这是一个判断电话。这不是一个不寻常的建议。例如,Apache要求许可证信息也包含在每个源代码文件中:http://www.apache.org/legal/src-headers.html其原因各不相同,但为了使它们有意义,以供讨论,请参阅:将许可证放入每个代码文件中?许多项目不会在每个源文件的基础上做任何事情,但是在每个源文件的基础上遵循此策略的原因之一是(直接来自上面关于SO的讨论):“本质上,你实现了什么人们不小心违反许可条款的风险较低。你必须决定它对你有多重要。”–https://stackoverflow.com/users/16883/michael-borgwardt我遵循这个标准只是因为它让你知道文件是你看到的。当然,如果写标题的人努力写了一个好的描述,但我通常会这样做,同时添加一个修改部分来记录对文件的任何重大更改。这是为了满足法律要求。这不是技术目的。您正在阅读Microsoft明确公开使用的源代码编码标准,作为供人们查看和复制的样本。将这种类型的代码拆分到单独的文件中是常见且可取的,因此每个文件中都包含许可信息非常重要。正如其他人所说-对于不希望公开的项目,通常不需要此类标头。以上是C#学习教程:每个手动创建的代码文件开头是否有文件头注释?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: