Answers:
我习惯于将我的名字或缩写写在评论标题中,并带有修订号和更改的简短描述。
我最近已经摆脱了这种习惯,因为这对于版本控制是多余的,例如,任何对谁进行了更改感兴趣的人都可以在版本控制中看到源代码的整个历史。
如果您是专业开发软件,则很可能正在使用某些版本控制系统(svn,hg,git等)。在这种情况下,我发现将您的个人信息留在代码中是多余的,因为您已经拥有一个编码器帐户(具有该信息)可以在项目上提交代码。
但是,来自开源社区的一些人发现留下姓名和电子邮件地址进行联系很有趣。这根本不是一个坏主意。检查以下示例:
从FFmpeg:
/*
* Interplay C93 video decoder
* Copyright (c) 2007 Anssi Hannula <anssi.hannula@gmail.com>
*
* This file is part of FFmpeg.
*/
从DirectFB:
/*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>,
Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>.
*/
但是肯定留下我的名字和/或电子邮件将意味着我应该在代码中写注释?对不起不是答案。实际上,我通常会留下doctype注释...
/**
* @author PurplePilot
* @package
* @etc
*/
用我的名字,而不是电子邮件地址。是的,可以剪切和粘贴此代码,但是如果复印机不更改作者姓名,他们将不会更改其他任何内容,并且很明显,这是无需维护的注释。
我有不时使用的电子邮件签名
/* Anything you put in comments is not tested and easily goes out of date. */
这似乎是该线程中许多其他帖子的大致反映。但是,由于没有关于该主题的规则,因此程序员需要做他们认为最适合的事情。
我经常将自己的姓名缩写留在评论中(在适当的地方),但我看不出有任何理由要留下更多。如果我仍在拥有代码的公司里工作,人们应该知道如何与我联系。
如果我离开了公司并在其他地方工作,那么如果我在上一家公司(可能成为竞争对手!)打电话询问有关软件的问题,那对我的新雇主来说是不公平的。
如果代码是通过其他方式共享的(例如,开源,在线发布),则可能值得您提供详细的联系方式,但是如果代码是通过其他方式传递的,那么您给它的人可能已经拥有了您的联系方式。联系方式,您是否真的想要一个随机的陌生人打电话询问您几年前编写的代码?
我永远不会在代码中留下我的联系方式。它总是过时,似乎会导致更多问题,然后解决。
其他人指出了很多问题,但是我想提到一个我认为是最隐患的问题。
它会破坏团队工作和代码质量。
您可能会问,这与集体代码所有权有关。如果您输入代码名称,那么下一个进来的人会说“那不是我的代码,我只会输入X”,其中X可以对其进行破解,忽略,等等。然后,如果他们进行了修复,他们当然要在代码上加上他们的名字,因为他们改进了它。但是您可能会想,嘿,我花了数周的时间编写此代码,而他们却花了10分钟的时间,才知道自己的名字正确无误。随着时间的流逝,这种循环继续进行,人们争论着谁应该为代码赢得称赞(或指责)。
对于团队来说,这并不是很好。相反,如果团队专注于集体所有权,并在没有所有权的情况下完善所有代码,则可以专注于真正重要的是系统的质量。如果确实需要跟踪谁进行过处理,则可以始终使用VCS来获取详细信息。
注意:如果版权标头具有开发人员的名称,即使版权标头也可能具有破坏性的影响,尤其是在开发人员不如其他贡献者那么活跃的情况下。这就是为什么在开放源代码项目中,我尝试仅在项目的某个位置提到AUTHORS中的作者或贡献者文件。