具有作者姓名的代码绝对必要吗?

时间:2009-09-02 08:40:49

标签: coding-style comments

是否需要在每个函数甚至文件中添加作者姓名的代码?

是的代码将在源代码管理中,并且涉及许多程序员

6 个答案:

答案 0 :(得分:22)

根据Code Complete,注释用于说明代码的用途。将其用于其他目的可能会导致“评论衰退”。

也就是说,跟踪代码所有权,更改日志以及最后修改文件的人,恕我直言,是SVN之类的源控制回购的工作,不应该在评论中。除非它是某种种类的许可证。或者使用IDE的书签系统来跟踪谁创作了一个功能,以及谁负责该功能。

但这一切只是我的2美分价值。

答案 1 :(得分:16)

如果代码受源代码管理,则编号为。
这类数据应该存储在源代码库中。

如果代码要广泛分发(在没有任何类型的存储库的其他环境中),那么是的,这可能是有用的。 (一些java源代码确实包含了那种信息,以及可以从中获得代码演变的版本号)

显然,这种信息(对于广泛部署的代码库)仅在文件级别。
例如,考虑Java中java.lang.Boolean的源代码:

/**
 * [...]
 * In addition, this class provides many methods for 
 * converting a {@code boolean} to a {@code String} and a 
 * {@code String} to a {@code boolean}, as well as other 
 * constants and methods useful when dealing with a 
 * {@code boolean}. 
 *
 * @author  Arthur van Hoff
 * @version 1.60, 05/05/07
 * @since   JDK1.0
 */
public final class Boolean implements  java.io.Serializable,
    Comparable<Boolean> {
[...]

您从一开始就没有所有作者,只有最新作者,最近修改的相关最后一个主要版本,以及原始介绍该类的版本。

例如,当您想要维护良好的API时,这可以对 API tooling 有所帮助。

但是关于作者的信息仍然局限于文件,而不是函数:他代表了类中所有函数的协调者或聚合管理器,即使随着时间的推移可能有多个贡献者。

因此,这是公共信息,值得明确地放在文件中,而不是私有元数据(谁写什么),存储与源代码存储库中的所有其他元数据(日期,版本,分支,合并信息......)一样。

答案 2 :(得分:2)

  

是代码将在源代码管理中

然后没有。源代码管理负责跟踪此(blame)。

特别是对于团队OpenSource项目,指示特定代码段的作者可能是有用的或必要的。但是对每一个函数的评论似乎都过分,特别是因为大多数类都是由同一个作者写的(n'est-ce pas?)。我喜欢为每个类指定作者的Java库约定。不知何故,这似乎是正确的权衡。

另一方面,如果你共同撰写了一个课程,那么如果其他人在其中编写了错误的代码,那你就应该受到指责。我实际上认为这是的事情。一个类(至少在OOP中)是一个实体,因此质量取决于其整体质量。如果一个函数不好,那么全班也是如此。

答案 3 :(得分:1)

没有。您或您工作的公司含有版权。但是,为了跟踪目的,可以向该人询问此代码后来做了什么。

答案 4 :(得分:0)

在某些项目中,作者姓名可以用来为那些投入更多精力进行开发的人提供应有的信誉。这种认可可以提高动力。

答案 5 :(得分:-1)

是的,这是必要的。如果可能的话,还要提供日期和名称。它用于跟踪目的,并为其他人提供了解该功能所有者的权限。