例如:
// Foo.cpp - Implementation of the Foo class
// Date: 2008-25-11
// Created by: John Smith
我知道有一个团队将CVS提交消息嵌入到每个文件的底部,但我不确定我是否想要这样做...
// Foo.cpp - Implementation of the Foo class
// Date: 2008-25-11
// Created by: John Smith
我知道有一个团队将CVS提交消息嵌入到每个文件的底部,但我不确定我是否想要这样做...
关于文件的创建者、编辑者以及编辑时间等信息,都在源代码控制中心。如果你的团队有良好的提交注释规范,你也可以知道每次更改的原因。不需要为这些内容添加注释。
我认为,完全可以添加注释块来解释类/模块的目的,只要必要就行了。这样,当下一个人去更改它时,他们会更好地了解整体愿景,以及这个文件是否适合他们的更改。
一些商店在源文件注释中加入版权声明和其他法律废话。这让我觉得很傻 - 如果你的(非开源)源代码在未经你的知识或许可的情况下被放到了别人的服务器上,版权声明可能并不能阻止他们做任何事情。我不是律师,你的情况可能不同。
我会在文件名中包含一个简短的描述,说明文件的目的,并添加一个$Id$标记,以便于CVS或Subversion使用。文件的创建者和创建日期可以通过检查存储库来找到,因此不需要在文件中包含这些信息。
包含文件名是因为在编辑文件时,有时可能无法完全确定文件名。描述可以用于确定代码段是否应该放在文件中,或者是否应该移动到其他文件中。当然,$Id$可以告诉你最后一次更改时间和最后一位编辑者。
仅在提交消息有用时才将其嵌入代码中,而且仅在文件偶尔更新时才有用。包含每个提交消息只会使文件膨胀到评论描述更改的数量超过实际代码的数量。最好也将其留给存储库;通常只需要一个简短的命令行即可获取文件的提交日志。
如果您使用的版本控制系统不能保留移动和复制的历史记录,在这种情况下,只需引用原始文件及其版本号即可。当然,如果您使用的是本世纪而不是上个世纪创建的系统,这不应该成为问题。
原本在这里回答,但已被删除:134249
我只会放两件事:
其他任何东西都是不必要的废话,不会得到维护,并最终变得比没有更糟。
当时我在一家大型国防公司工作,我们有苛刻的编码标准。如果你完全遵循它们(大多数人不会),那么你的大部分头文件将由那些毫无意义的废话组成。更糟糕的是,相同的废话也需要放在源文件中,这意味着两份废话过时了并且变得误导人。
我曾经喜欢在文件头部放置版本控制关键字,但已经从这种困扰中恢复过来了。:) 有两个原因:
我不嵌入日期是因为这是多余的。如果有人想知道文件创建的日期,不要信任作者,请信任您的源代码管理系统。它应该是文件创建日期的确定答案。
我绝对不反对嵌入检查消息。那些非常有用。
这是我通常放在文件顶部的内容:
///////////// Copyright © 2008 DesuraNET. All rights reserved. /////////////
//
// Project : [project name]
// File : [file name]
// Description :
// [TODO: Write the purpose of ... ]
//
// Created On: 11/12/2008 2:24:07 PM
// Created By: [name] <mailto:[email]>
////////////////////////////////////////////////////////////////////////////
我在Vis中设置了一个宏,以便在创建新文件时添加并填写默认信息。