【问题标题】:Header File Template头文件模板
【发布时间】:2009-06-03 14:23:42
【问题描述】:

是否有用于 .NET 源代码文件的标准模板?

我习惯于将标题信息放在 /* */ 标记之间,但 StyleCop 抱怨这些。

【问题讨论】:

  • 你在评论里放了什么?带有作者、修订历史等的文件的某种样板文件?
  • 是的,我会在标题中包含作者、文件名、版权、修订历史等。

标签: c# .net templates header


【解决方案1】:

永远不要将修订历史记录在源文件中,这就是您的源代码控制系统的用途。

至于标题,我建议#region 是一个好主意(因为它是样板,应该从您的关注中删除,除非您正在编辑它,此时它是否是// 或/*.

由于// 更健壮(没有嵌套问题)// 是首选

【讨论】:

  • 我喜欢源文件中的评论和修订历史。我觉得这有点值得商榷。
【解决方案2】:

只是一个想法,绝不是一个标准(或者就此而言,可能是一个好主意)。您是否考虑过使用属性?例如

[Author("Jonathan Dickinson")]
[Copyright("Copyright (c) Jonathan Dickinson 2009")]
[RevisionHistory(
        "jcd: Made the class.",
        "jcd: Made the class internal.")]
[License("GPL", LicenseType = LicenseType.CopyLeft)]
// Etc.
class Foo
{
}

有人知道为什么这是一种糟糕的做法吗?

无论如何 - StyleCop 主要是为 商业 项目(通常不做代码头)制作的。换句话说 - 忽略或禁用 friggen 警告。我一次又一次地读到 StyleCop 和 FXCop 太挑剔了。我见过以下格式的标头 cmets。

// <code-header>
//  <author>Jonathan Dickinson</author>
//  <copyright>Copyright (c) Jonathan Dickinson 2009</copyright>
//  <license href="license.txt">New BSD</license>
//  <revisions>
//    <revision initials="jcd">Made the file and class</revision>
//    <revision intiails="jcd">Made the class internal</revision>
//  </revisions>
// </code-header>

它具有明显的优势 - 统计数据(就像 Ohloh 所做的那样)和代码库验证会立即浮现在脑海中。

【讨论】:

    猜你喜欢
    • 2021-04-08
    • 2020-04-22
    • 2011-08-02
    • 2011-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多