`
rongjunxue
  • 浏览: 32109 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

公司里,不应该允许开发人员在项目代码中署上自己的名字

阅读更多
最近做了比较多项目管理方面的工作,因此这方面想的也比较多。
举个反面例子:
java 代码
  1. /**  
  2.  * @author rongjunXue  
  3.  */  
  4. public class SayHi{   
  5.     //......   
  6.    say("Hello, javayey!);   
  7.    //......   
  8. }   
然后,wangwen修改里面的拼写错误:
java 代码
  1. /**  
  2.  * @author rongjunXue  
  3.  */  
  4. public class SayHi{   
  5.     //......   
  6.    say("Hello, javaeye!);   
  7.    //......   
  8. }   

最后由suzhenhui完成,badqiu修正了其中的一个BUG:

java 代码
  1. /**  
  2.  * @author rongjunXue,badqiu  
  3.  */  
  4. public class SayHi{   
  5.     //......   
  6.     //非常复杂的业务实现      
  7.     //......   
  8. }  
最后从代码看,往往会以为这段代码是由rongjunXue完成,并由badqiu做了修改。但事实完全不是这样。
事实是,第一个开发者只是写了个锥形,最终代码业务逻辑由suzhenhui完成,badqiu修正了其中的一个BUG。
当上面的业务逻辑出现问题时,应该找suzhenhui或badqiu,而不是找rongjunXue.
 
再加一个反面例子:
java 代码
  1. //方法描述  Add By ZhangShan   
  2. public List getListMethod(){   
  3.     //.........................   
  4. }  
其实,我们完全可以通过CVS和Eclipse查看到每一行代码的归属和变更历史,请看附图。
在Eclipse CVS视图中,左边会高亮显示代码中光标所在行的最后修改者,右下角可以选不同版本进行代码比较。
  • 描述: 通过CVS和Eclipse查看到每一行代码的归属和变更历史
  • 大小: 548.3 KB
分享到:
评论
29 楼 andyyehoo 2007-05-15  
dustinth 写道
majianglin 写道
署名很重要,是荣誉也是责任


当跟公司说拜拜的时候,你记得把自己代码里面的署名搞掉哦, 不然后来的替你擦屁股的时候会骂娘的哦.


对自己代码有信心的话,就应该不怕后人骂娘。写代码的时候,要有一种信念,即使过了几年后,自己看自己的代码,也会觉得自豪和问心无愧。

当然,需求变更造成的业务代码的麻烦是另外一回事,理性的程序员都知道该怪谁的...
28 楼 cherami 2007-05-14  
楼主的观点确实不太站得住脚啊。
很多编码规范都是要求在源代码头行添加修改历史记录的,这样一目了然,去查日志不免太费事了吧?
27 楼 01robert 2007-05-13  
温柔一刀 写道
majianglin 写道
署名很重要,是荣誉也是责任


为什么说是荣誉呢?

某程序员创建了一个空类,其他几个合作者分别在上面添加了行为方法

荣誉怎么算?





在这种情况下荣誉的所有者是不正确的,这只说明这种方法在这种情况下还有缺点,但一般情况下可以理解为荣誉和负责(我们不能因为其不能完美的否定它,而想一想如何利用它的好处和改善它的问题)

好处:
1. 荣誉和负责
2. 方便找到能提供帮助的人

对于“某程序员创建了一个空类,其他几个合作者分别在上面添加了行为方法”,可以多上注释:

created by author 2005/5/10
---------modified List---------------
modifid by modifyer2, 2005/10/15, modified method2.
modifid by modifyer1, 2005/5/15, implements method1, method2, method3

26 楼 daniel.wuz 2007-05-13  
其实我感觉楼主的问题不是署名还是不署名造成的,而是相关文档管理欠缺,bug修改记录管理欠缺造成的

署名的问题得看公司相关规定吧
25 楼 温柔一刀 2007-05-11  
majianglin 写道
署名很重要,是荣誉也是责任


为什么说是荣誉呢?

某程序员创建了一个空类,其他几个合作者分别在上面添加了行为方法

荣誉怎么算?



24 楼 dustinth 2007-05-11  
majianglin 写道
署名很重要,是荣誉也是责任


当跟公司说拜拜的时候,你记得把自己代码里面的署名搞掉哦, 不然后来的替你擦屁股的时候会骂娘的哦.
23 楼 centgo 2007-05-11  
署名是权力也是责任,使不使用看个人或团体的意愿。
个人比较懒,一般只在非常重要的地方署名
22 楼 majianglin 2007-05-10  
署名很重要,是荣誉也是责任
21 楼 andyyehoo 2007-05-09  
过份依赖版本控制工具,不是一个好方法

署名并非责任归咎,更多的是一种良好习惯,方便后来人维护和查找问题的根源而已。不必看得如此严重

Sun等开源项目的源代码,本来就不一定会从cvs上面发布,署名更加是非常必要了
20 楼 aardvark 2007-04-27  
lkfnn 写道
aardvark 写道
署名更多的是一个企业文化上的事情。如果你们团队认为不署名比较好,那就不署名;如果别的团队认为应该署名,那就署名。至于具体到修改代码到什么程度可以署名,也是各团队内部的事情。
说到底署名并没有什么不得了的弊端,“不应该允许”口气就太大太不尊重别人了。


应不应该署名并不是团队内部的事情,而是取决于版权所有着,所以才有  “coding by xxx ”
这种写法。


IBM的程序取决于谁?Google的程序又取决于谁?“版权所有者”不会真正决定这个东西。
署名并非版权信息,copyright才是版权信息。
19 楼 lkfnn 2007-04-27  
aardvark 写道
署名更多的是一个企业文化上的事情。如果你们团队认为不署名比较好,那就不署名;如果别的团队认为应该署名,那就署名。至于具体到修改代码到什么程度可以署名,也是各团队内部的事情。
说到底署名并没有什么不得了的弊端,“不应该允许”口气就太大太不尊重别人了。


应不应该署名并不是团队内部的事情,而是取决于版权所有着,所以才有  “coding by xxx ”
这种写法。
18 楼 aardvark 2007-04-27  
署名更多的是一个企业文化上的事情。如果你们团队认为不署名比较好,那就不署名;如果别的团队认为应该署名,那就署名。至于具体到修改代码到什么程度可以署名,也是各团队内部的事情。
说到底署名并没有什么不得了的弊端,“不应该允许”口气就太大太不尊重别人了。
17 楼 YuLimin 2007-04-26  
1、最好先是要有详细的文档说明,然后再;
2、进行相关的署名等等信息附加上去,第一点才是关键。
16 楼 dustinth 2007-04-26  
支持不署名.
在代码里的署名和CVS/SVN上的Check记录实际上是重复的, 我们花那么多工夫重构代码就是为了消除重复, 注释也是代码.
再说署上名字又有啥动机呢?对于自己的肯定? 为代码负责?
并不是说JDK和Spring里面署了名就能做为支持署名的理由.
15 楼 lkfnn 2007-04-26  
hocus 写道
之前一个公司boss的考虑是
注释李不能出现“作者,author”之类的词
需要标明copy right company
仅仅是 coded by xxxx


我觉得这样做是非常合理的,如果是开源项目可以署自己的名字,但如果是商业项目必须是这样写的。
14 楼 myreligion 2007-04-26  
还是署名比较好些吧。
也不是所有时候cvs,svn都能用,有时候到客户哪儿部署东西,svn是内网的,外面不能访问。遇到问题找谁去?代码上署名了就容易多了;又不是写上自己的名字代码就是自己的不是公司的,和版权能扯上什么关系。

13 楼 hocus 2007-04-25  
之前一个公司boss的考虑是
注释李不能出现“作者,author”之类的词
需要标明copy right company
仅仅是 coded by xxxx
12 楼 sunnyshuhai 2007-04-25  
写不写应该没有太大问题吧,写得话也是为了出了问题,可以很快知道该谁负责。
11 楼 fanth 2007-04-25  
其实,楼主说的情况应该不常见,一个类修改人一般不多于3个,在我们的团队里,我初略看了一下,一般就是2人比较多。我反对开发人员在代码中不署上自己的名字,原因很简单完全依靠版本控制工具并不可取。
10 楼 giscat 2007-04-24  
与到此一游异曲同工,

相关推荐

    版署网络游戏防沉迷系统服务端Java SDK.zip

    本篇文章将深入探讨版署网络游戏防沉迷系统的服务端Java SDK,以及如何在游戏项目中应用这一技术。 首先,我们需要理解Java SDK(Software Development Kit)的概念。SDK是一组工具、库和文档,帮助开发者创建特定...

    ITWD:Web开发项目简介

    AJAX(Asynchronous JavaScript and XML)允许异步数据交换,使网页能够在不刷新的情况下更新部分内容,提高了用户体验。 Web开发项目可能包括前端和后端开发。前端开发主要关注用户界面和交互,而后端开发则涉及...

    OBD_CAN读取代码,obd接口can定义,C,C++源码.zip

    在汽车诊断领域,OBD(On-Board Diagnostics)是一种标准接口,允许技术人员或车主通过专用设备连接到车辆,以获取车辆的系统信息、故障代码和实时数据。CAN(Controller Area Network)是汽车内部通信的一种常见...

    Python库 | swmm_api-0.1a10-py3-none-any.whl

    在Python项目中,使用swmm_api库可以简化与SWMM的交互,提高开发效率。开发人员可以通过编写Python代码来控制模型的各个方面,使得复杂的水文计算变得更加简单。同时,由于其基于Python,开发者可以利用Python丰富的...

    easyx4mingw_2023大暑版.zip

    " Mingw" 是Minimalist GNU for Windows的缩写,它是一个可自由使用的Windows下的C和C++编译器,它实现了GCC(GNU Compiler Collection)和GNU开发工具集在Windows上的运行。 描述中的信息虽然简洁,但我们可以推测...

    EPA PMF 5.0大气污染物解析工具.rar

    标题中的"EPA PMF 5.0大气污染物解析工具"是指美国环保署(Environmental Protection Agency,简称EPA)开发的一款名为Positive Matrix Factorization (PMF)的5.0版本软件。PMF是一种统计方法,广泛应用于环境科学...

    2021-2022计算机二级等级考试试题及答案No.1100.docx

    一个类可以实现多个接口,接口的成员方法不允许提供实现代码。 ### 18. JSP 内置对象 response JSP 内置对象 `response` 提供了多种方法来处理客户端请求和响应。调用 `getOutputStream()` 方法可以获取到一个指向...

    Python库 | pyswmm-0.6.2.tar.gz

    这个压缩包文件包含了库的源代码和其他相关文件,以便开发者在自己的项目中集成和使用。 在Python开发环境中,使用pyswmm库可以实现以下功能: 1. **模型创建与编辑**:用户可以通过Python代码创建、修改和管理...

    airnowpy-2.2.2-py3-none-any.whl.zip

    这种格式允许开发者无需编译源代码即可快速部署和安装Python包,提高了安装速度,特别是在没有编译环境或者编译困难的系统上。 "airnowpy" 库则专注于与美国环境保护署(EPA)的空气质量指数(AirNow)服务进行交互...

    streamlit_flood_app:带有环境署实时洪水数据的应用

    Streamlit Flood App是一款基于Python开发的应用程序,专用于展示英国环境署(Environment Agency)的实时洪水数据。这个应用利用了Streamlit库,一个强大的工具,让数据科学家和开发者能够轻松地创建交互式的数据...

    Python库 | stactools_corine-0.1.4.tar.gz

    Python库stactools_corine-0.1.4是一个用于处理和操作Corine Land Cover(CLC)数据的工具,该数据集是欧洲环境署(EEA)提供的一种地理信息资源,用于监测欧洲的土地覆盖变化。这个库是Python开发语言的一部分,它...

    aids-gdp-correlation:这是一个在我的硕士学位期间开发的数据分析主题的项目,旨在发现与艾滋病相关的死亡人数与不同国家的GDP之间的相关性

    Jupyter Notebook 允许研究人员结合代码、文本、图表和公式,便于数据探索、分析和结果展示。 3. 数据分析:在Python中,可能会使用Pandas库进行数据处理,NumPy进行数值计算,以及Matplotlib或Seaborn进行数据可视...

    swmm51014_engine_1.zip

    SWMM(Storm Water Management Model)是由美国环保署(EPA)开发的一款强大的开源软件,用于模拟城市雨水管理系统和合流制排水系统的运行。这个压缩包"swmm51014_engine_1.zip"包含了SWMM 5.1.014版本的计算引擎源...

    SWMM(英文版).zip

    1. **SWMM介绍**:SWMM是由美国环保署(EPA)开发的,用于模拟降雨-径流过程、水质、水量和城市排水系统的模型。它适用于城市和郊区的雨水管理,包括下水道、雨水花园、渗透设施等。 2. **模型功能**:SWMM能够模拟...

    Linux网络编程(Socket技术)

    AppleTalk是苹果公司在20世纪80年代开发的一种网络协议栈,主要用于Macintosh计算机。 **5.6 TCP/IP概述** - **TCP/IP结构模型**:TCP/IP协议栈由应用层、传输层、网络层和网络接口层组成。 - **Internet协议(IP...

    Jagathon-开源

    开源社区的成员可能会在GitHub或其他代码托管平台上分享和讨论该项目,提供更详细的文档和教程。 【参与和贡献开源项目】 想要参与Jagathon项目的开发或贡献,你需要: 1. **获取代码**:从代码仓库(如GitHub)...

    IsoBuster-v2.7 含有注册码

    显示(并允许提取)的Nero项目文件,如果光盘上可用 ?支持的CD - i文件系统以及从试图装入CD -Ⅰ硬盘不同的行为。 ?信息和文件系统属性(一开发商必须为财政司司长) ?的CD / DVD /高清DVD /蓝光表面扫描,看看是否...

    excavate:(理论上)显示各种纽约地铁服务的状态

    在"excavate-master"这个压缩包中,可能包含了项目的源代码、样式文件、资源文件以及可能的测试文件。通过阅读和分析这些文件,我们可以深入理解该项目的实现方式和设计思路,进一步学习和应用上述技术。不过,由于...

    pyMet:用于运行美国环保署 AERMET 的 python 函数

    **pyMet:运行AERMET的Python接口** `pyMet` 是一个专为运行美国环保署(EPA)开发的气象模型...在`pyMet-master`这个压缩包中,包含了`pyMet`库的源代码和其他相关资源,用户可以直接下载并进行二次开发或学习使用。

    mta_subway_map_d3:工作正在进行中

    【标题】"mta_subway_map_d3:工作正在进行中" 涉及的是一个使用D3.js库来创建纽约MTA(大都会运输署)地铁地图的项目。这个项目处于开发阶段,意在帮助用户理解和学习D3.js的数据绑定和可视化能力。 【描述】中的...

Global site tag (gtag.js) - Google Analytics