源代码管理制度(讨论稿)怎么写代码做软件
一、总则
为了加强公司产品、项目开发源代码及相关技术文档的管理,进而确保项目实施的效率和质量,特制定本办法。
二、适用范围
产品、项目开发技术人员及项目实施负责人.
三、定义
项目:是指通过公司立项确定需要按期实施的项目。
项目实施:是指为完成立项项目进行的阶段性或特定领域的实施过程,主要包括研发实施和部署实施。
源代码:是指产品、项目研发过程中所产生的程序源代码.
技术文档:是指产品、项目配套的各类设计文档、操作手册等技术性文档。
版本管理服务器:指公司架设供所有开发人员使用的Subversion(SVN)服务器。
源代码提交:指开发人员通过客户端程序将所编写源代码上传至版本管理服务器的操作过程.
四、源代码日常管理流程
源代码管理是技术研发过程的日常管理,主要包括源代码提交、源代码审阅、异常协调等几个环节.
五、源代码结构设定
源代码结构是指源代码在版本管理服务器上存放的文件夹结构。源代码结构的设定由项目实施负责人决定。
源代码结构设定有几项基本要求:
必须设置文档文件夹:每一个独立项目或子项目源代码文件内,至少设定一个docs或doc文件夹以存放仅与该项目相关技术文档和参考资料;
必须考虑支持库:源代码结构中,应考虑具体项目所引用的非标第三方支持库或框架的存放位置;
必须可以直接编译:源代码结构必须是可直接编译结构.即任何一台新装计算机,在安装了必要的开发环境软件以后,通过从版本管理服务器上签出整套源代码后,应该可以直接完成编译。
六、500提交
500提交是指项目实施期间,所有参与开发的技术人员,每日5:00必须将当日所编制的源码或技术文档提交至版本管理服务器。
源代码及技术文档提交有如下几项要求:
任何一次提交都必须对所提交内容进行注释;
提交注释必须包含的信息项包括:所属模块或功能(必须与项目实施进度计划一致)、性质(正常开发、修改BUG、扩展功能)、状态(编码中(x%)、调试通过、独测通过、联测通过)、更新说明(本次提交所涉及修改部分的简要说明)。
提交注释必须以下图示例格式为准.
所提交源码必须是编译无错版本。
七、530审阅
530审阅是指项目实施负责人,每日下班前审阅版本服务器上所有下属技术人员所提交的源代码和技术文档。
源代码审阅有以下几点审阅标准:
下属技术人员必须全员按时提交;
所有提交必须附有符合要求的提交注释;
各人所提交的内容必须与既定的项目实施进度计划安排一致;
审阅过程中,凡不符合上述任一条标准的,则表示当日源码提交出现异常.项目实施负责人应立即进行协调,未按时提交者督促其即刻提交;没有附提交注释或注释不符合要求者,补充提交注释;提交内容与既定项目实施进度计划安排不一致者,要进行沟通和协调,保证参与实施人员的每日工作均按既定计划分步实施.
八、进度计划更新
项目实施负责人,通过530审阅和必要的简短沟通,确认各在执行子任务的真实进度,并以此为
准更新进度计划文档。
九、版本库布局
版本库按项目布局,每一个项目建立一个独立的版本库,项目版本库下设置trunk和branches两个文件夹,分别用于存放原始项目资料和起源于原始项目的分支项目.
每一个项目分支都应该有含义明确的命名,并以分支名称在branches文件夹下建立子文件夹。分支文件夹的结构与trunk文件夹结构一致。
trunk文件夹下设置working和locked两个文件夹,其中working为工作文件夹,参与项目的开发人员有改写权限.locked文件夹为定版文件夹,项目开发人员无权访问,项目实施负责人有改写权限,品监部有签出权限。
working文件夹下设置docs和projects两个文件夹,其中docs文件夹存放项目相关设计文档,projects文件夹存放各子项目工程文件夹。
docs和projects文件夹以下子文件夹结构不做限定,但对于C/S类项目建议在projects文件夹下设置server和client两个文件夹,分别存放服务端子项目资料和客户端子项目资料.
十、项目定版
项目定版是指项目研发实施到某个进度计划中设定的里程碑状态或其他特定状态时,整体提交的一个阶段性版本。一些既定的定版包括:系统联机调试定版、内测定版、演示定版、实测定版、发布定版、升级定版。