您如何跟踪代码作者?[关闭]


14

这是我从未教过的东西。我见过很多不同类型的创作风格。我主要使用Java和Python进行编码。我想知道是否有标准的创作风格,或者是否一切都是自由风格。另外,如果您回答,您会介意附加用于创作在家或在办公室创建的文件的样式。

我通常只是去

@author garbagecollector
@company garbage inc.

3
更改您代码的人的名字放在哪里?
JeffO 2011年

@Jeff的位置和外观。
dustyprogrammer

这样做是没有意义的。你为什么想这么做?
CodeART 2012年

Answers:


-1

不确定您要问什么,但是我使用了非常严格的样式:

;==========================================
; Title:  Author Style Sample
; Author: Darknite
; Date:   7 Jan 2011
;==========================================

该样式的灵感来自于汇编程序员。

我把它放在需要“作者”的页面的顶部,无论这是类,文本文件还是SQL存储过程等。


这是我所寻找的路线。
dustyprogrammer

5
-1这(它生长了很多,如果更新(它和各种人的代码更改)被有效地控制版本替换。
迈克尔·达兰特

1
@MichaelDurrant您忘了加括号;)还是很酷。我喜欢企鹅。
2013年

4
@Giorgio并非如此...文件中可能没有原始作者的任何代码行。这是毫无意义。
威尔伯特,2013年

1
@Wilbert:当然,这还取决于团队的政策:使用共享代码所有权,跟踪文件作者可能毫无意义。使用单独的代码所有权,重要的是要知道谁负责哪个文件。
Giorgio

71

你怎么会 这就是版本控制系统和“ Blame”的工作:)


8
版本控制
Paul Nathan

1
如果您将其视为源代码管理(SCM)而不是版本控制系统(VCS),则以这种方式进行操作更有意义。
Peter Eisentraut 2011年

小限制,外观变化(缩进等)改变了该行的作者……
Matthieu M.11年

4
@Matthieu:优秀的SCM可以显示谁随时间进行了哪些更改,而不仅仅是最后一次更改。我也可能会争辩说,外观变化也是变化。
grossvogel 2011年

1
这个答案已经有8年多了,没有人注意到它的限制吗?仅当源代码在整个生命周期内都停留在一个VCS中(或已正确迁移)时,它才适用!但是,许多开放源代码有时会在不同的环境之间转移,因此如果作者信息未直接写入源代码中,则可能不会被传递。
布朗

11

我们不会在我的公司进行创作。相反,我们让版本控制来处理它。

每次签入时,它会将您的用户名附加到更改列表中。如果有问题,可以回去查看更改历史记录,以了解更改的内容,更改的时间以及更改的对象。查看修订图也很巧妙,可以查看文件随着时间的推移是如何演变的,是谁触摸了文件,以及从中分支出了哪些项目。

我看到在类上放置author标记的问题是,随着时间的流逝,很可能有不止一个开发人员在该类上工作。更新等。这是更新作者评论的一个额外步骤,而额外的小步骤往往会被很多人遗忘。因此,它很快就会过时。


10

我一点都不做。我认为在工作中,我们有一些模板插入到文件中,该模板带有上次修改文件的人的公司名称和用户名,但我从不注意。

通常,我认为您的操作方式并不重要。如果要对文件进行作者标记,只需选择一个一致的样式并使用它即可。


6

JavaDoc在Java社区中非常标准:

http://download.oracle.com/javase/1.3/docs/tooldocs/win32/javadoc.html#@author

@author 名称文字

使用-author选项时,将具有指定名称文本的“作者”条目添加到生成的文档中。一个文档注释可能包含多个@author标签。您可以为每个@author标签指定一个名称,也可以为每个标签指定多个名称。在前一种情况下,Javadoc在名称之间插入逗号(,)和空格。在后一种情况下,整个文本将被简单地复制到生成的文档中,而不会被解析。因此,如果要除逗号以外的本地化名称分隔符,请每行使用多个名称。



4

我喜欢GIT中的功能。您可以看到谁编写了每段代码。不只是文件。


其他VCS具有相同的功能(尽管通常不称为“怪”)。
理查德

我会将此设为-1,因为它是GIT特有的。OP从未提及GIT。但是可惜,我没有足够的代表来投票。
Thomas Eding

2

如果您在一个大型项目中有很多贡献者,那么用作者列表注释每个文件就是行不通的。将一个文件分成几个较小的文件时,您对作者列表有何处理?如果完全重写代码,是否保留原始作者姓名?修正注释中的错字时,您是否将姓名添加到作者列表中?

这些问题最好留给版本控制系统使用。

但是我并不完全反对作者名单。保留整个项目的作者名单是很有意义的。如果是单个文件项目,请确保将其保留在该文件中。如果项目较大,则将其保存在自述文件或顶级源文件(也称为main.c)中。但是,不要在每个文件中都列出作者来重复自己。


1

我们使用版本控制系统或通过放置@author代码来跟踪。另一种方法是更笼统地说,某些人是整个模块或整个程序的作者。这鼓励人们将自己视为团队的一部分,而不是将机器视为完全负责X个功能或代码行的齿轮。


0

我几乎使用Doxygen样式(或有时使用KernelDoc)注释。我主要在C和PHP中工作,其中Doxygen非常流行。

在大多数情况下,至少包括以下信息会有所帮助:

  • 复制的许可(或没有)/公司或个人的版权
  • 作者姓名/电子邮件
  • 撰写日期
  • 最后修改日期

这应该可以帮助碰巧正在处理文件的任何人知道他们拥有的文件,可以使用的文件以及需要帮助的人。它还告诉他们是否正在看10岁的东西。


0

我个人不这样做,因为像其他人说的那样,它是版本控制中的额外文档。但是,如果我要编写某种功夫代码片段,那么我可能会倾向于使用我的IDE能够自动生成的任何东西。

例如,在Delphi 7中使用我输入的那些有用的CNTools

///a [enter]

出来了

//<author></author>

然后我输入

///d [enter]

出来了

 //<date></date>

我以为这对应于某些第三方工具可以使用的东西,但是对我来说-我有一个甚至不需要弥补和破坏自己的标准。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.