`
rongjunxue
  • 浏览: 31450 次
  • 性别: 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
分享到:
评论
9 楼 ozzzzzz 2007-04-24  
weiqingfei 写道
署名应该更加详尽,
作者 时间 动作(创建还是修正),修正部分

这些都是有工具支持的,如果没有合适的自己写个小脚本就可以了,支持cvs和svn都可以啊。
8 楼 weiqingfei 2007-04-24  
署名应该更加详尽,
作者 时间 动作(创建还是修正),修正部分
7 楼 rongjunxue 2007-04-24  
wing5jface 写道
署名是对编程者的一种肯定.


很赞成这种理解。但署名的方式应该更科学一些,我们CVS上都详细准确地记录着代码提交者的名字的。(结对编程时这种方式就不适用了,但我们极少会结对编程)
在项目中再添加一个明文记录开发者及其参与过的模块的txt文件会不会更好些呢?这样即肯定了编程者又不会带来副作用。
6 楼 rongjunxue 2007-04-24  
eyejava 写道
写在上面一目了然,cvs对比多累。
写上名字不等于负责,spring,webwork等等代码都有名字


写在上面并不会一目了然,恰恰会导致误会。我上面已经有论述了。
我也没有说写上名字就等于负责,代码是共同所有的,或说是公司所有的,只是写上名字往往会因为“一目了然”而让其他同事遇到问题时不能快速准确地定位咨询对象。
5 楼 laochake 2007-04-24  
还是建议署名,有不明白的时候可以找得到人
就算暑名的人不是主要实现者,至少可以提供线索

“当上面的业务逻辑出现问题时,应该找suzhenhui或badqiu,而不是找rongjunXue.”

要是不署名你甚至会去找 suzhenhui111,badqiu222,rongjunXue333
4 楼 yiding_he 2007-04-16  
完全不署名也太极端。JDK 代码也极少有不署名的。当项目大起来的时候,不可能每个人对所有的代码都了如指掌,巨细无遗,但是署名的这个人,必定对这个类的结构有最深的认识,而且通常他就是这个类的创建者。所以一旦对这个类的设计有不清楚的地方,首先找署名的这个人就是了。这并非将别人的什么责任推到他身上。
3 楼 wing5jface 2007-04-14  
搞不懂你们怎样处理,CVS可以看到修改记录及修改者.
另外修改时,应规范在代码开始区块注明remark
及提交时必须添加每次修改的原因.
署名是对编程者的一种肯定.
2 楼 eyejava 2007-04-14  
写在上面一目了然,cvs对比多累。
写上名字不等于负责,spring,webwork等等代码都有名字
1 楼 温柔一刀 2007-04-14  
代码共享,不署名

团队成员谁都有修改和改进的权力

某个地方出了问题,不应该找写代码的某个人

整个团队都有责任

避免互相推卸责任

相关推荐

    版署网络游戏防沉迷系统服务端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丰富的...

    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)服务进行交互...

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

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

    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的数据绑定和可视化能力。 【描述】中的...

    hdxviz-unosat:可视化 HDX 上可用的 UNOSAT 数据

    8. **开源**:尽管没有明确提到,但开源项目通常会在HDX这样的平台上发布,因此这个工具可能也是开源的,允许其他开发者查看和改进代码。 9. **地图可视化库**:JavaScript有许多库可用于创建地图和地理信息可视化...

Global site tag (gtag.js) - Google Analytics