代码之家  ›  专栏  ›  技术社区  ›  yesraaj

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

  •  15
  • yesraaj  · 技术社区  · 16 年前

    6 回复  |  直到 16 年前
        1
  •  24
  •   Extrakun    16 年前

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

    也就是说,跟踪代码所有权、更改日志和最后修改文件的人(IMHO)是SVN等源代码控制仓库的工作,不应该在注释中。除非是某种许可证。或者使用IDE的书签系统来跟踪谁编写了一个函数,以及谁是该函数的负责人。

        2
  •  17
  •   VonC    16 年前

    如果代码受源代码管理,则不受。
    这种数据应该存储在源代码存储库中。

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

    显然,这种信息(适用于广泛部署的代码库)位于 文件 只有水平。
    例如,考虑以下源代码 java.lang.Boolean 在Java中:

    /**
     * [...]
     * 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 tooling 例如,当你想维护好的API时。

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

    因此,这是一个 公共 信息,值得明确地放在文件中,而不是 私有的

        3
  •  3
  •   Konrad Rudolph    16 年前

    是的,代码将在源代码管理中

    那么就没有了。源代码管理会负责跟踪这一点( blame ).

    特别是对于团队开源项目,指出特定代码的作者可能是有用的或必要的。但是对每一个函数都进行注释似乎太过分了,尤其是因为类的大部分内容都是由同一作者编写的(nest-ce-pas?)。我喜欢Java库为每个类指定作者的约定。不知何故,这似乎是正确的权衡。

    另一方面,如果你与人合著了一个类,如果别人在其中编写了糟糕的代码,你应该受到责备。我实际上认为这是一个

        4
  •  1
  •   David Allan Finch    16 年前

    在某些项目中,作者的名字可以用来对那些在开发上比预期付出更多努力的人给予应有的赞扬。这种认可可以提高动力。

        5
  •  1
  •   tkruse    11 年前

    不。你或你工作的公司隐含地拥有版权。但出于跟踪目的,询问该人这段代码后来做了什么可能是有用的。

        6
  •  -1
  •   PJ.    16 年前

    是的,这是必要的。如果可能的话,也请提供日期和姓名。它用于跟踪目的,并赋予其他人了解该功能所有者的特权。