代码管理及规范

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

代码管理及规范

【网络公开版】

Solvay

2015年8月11日

目录

1.引序 (3)

2.目的 (5)

3.适用范围 (6)

4.svn规范及要求 (6)

4.1 SVN操作流程 (6)

4.2账号 (6)

4.3检出代码 (7)

4.4提交代码 (7)

4.5标注要求 (8)

4.6慎用锁定功能 (9)

4.7传统备份 (9)

4.8 创建个人文件夹 (9)

5.代码规范要求 (9)

5.1 项目层次结构规范 (9)

5.2页面规范 (10)

5.3样式规范 (10)

5.4 JavaScript代码规范 (11)

5.5类规范 (11)

5.6注释规范 (12)

5.7 SQL语名规范 (13)

5.8 排版 (14)

5.8.1 缩进 (14)

5.8.2 空行 (14)

6开发环境及辅助工具 (14)

6.1 jdk版本 (14)

6.2 环境变量 (15)

6.3开发使用IDE (15)

6.4运行容器 (17)

6.5其它工具 (18)

6.6终端环境兼容 (18)

7写在结尾 (19)

1.引序

开始前,举一个故事作为引子,使阅读者从客观上有个大概的了解。未必能准确客观反应,还请谅解。

三国刘备一次攻击曹军计划,诸葛亮【架构师】制定作战方案:刘备【独裁者】率少量人马引曹军深入埋伏;

张飞【程序猿A】刺探前方军情;

关羽【程序猿B】负责正面交战,拼杀一阵则撤退;

赵子龙【程序猿C】则围堵、追杀逃兵。

作战时,发生如下情况,张飞性格粗暴,在刺探军情时顺手斩了几个曹军士兵,惊动了曹军。刘备则想,我一国之君,诸葛小儿狂妄自大,竟令我去诱敌。而且风险很大,则私下交待赵子龙保护其安全。关羽在正面交战时,因为前面惊动了曹军,导致曹军有备而来,虽尽力但没及时撤退,待伤亡很严重时被迫逃窜。此时赵子龙却护送着刘备,围堵、追杀方案根本无法实施。

通过上述例子,能反应出如下:

张飞多写了不属于自己的代码,造成相关功能重复执行,轻者影响系统运行效率真,严重则造成不可逆错误;

刘备没遵循代码管理及版本控制要求,私改方案,并且没有与诸葛亮重新商讨、修改,而造成整体方案在前期就预

示夭折的结果;

关羽虽按方案痛苦的写着代码,但因其他成员的失误而举步维艰,在发现情况不对时,未采取补救措施;

赵子龙则追随刘备,参与了刘备私改方案的编码,造成与整个方案的脱离。

最后结果可想而知,刘备军队大败。

通过上面的故事,希望阅读者对代码管理及版本控制能有一个初步的认识,下面为版本控制的概念,摘录与网络,进行了少量的精简、修改。

所谓版本控制系统(Version Control System),从狭义上来说,它是软件项目开发过程中用于储存我们所写的代码所有修订版本的软件,但事实上我们可以将任何对项目有帮助的文档交付版本控制系统进行管理。

如果在开发团队中没有使用版本控制,多个开发人员在开发过程中将会引入很多问题,如软件代码的一致性、软件内容的冗余、软件过程的事物性、软件开发过程中的并发性、软件源代码的安全性,以及软件的整合等问题。

版本控制的目的是实现开发团队并行开发、提高开发效率的基础。其目的在于对软件开发进程中文件或目录的发展过程提供有效的追踪手段,保证在需要时可回到旧的版本,避免文件的丢失、修改的丢失和相互覆盖。

版本控制的功能在于跟踪记录整个软件的开发过程,包括软件本身和相关文档,以便对不同阶段的软件及相关文档进行表示并进行差

别分析,对软件代码进行可撤消的修改,便于汇总不同开发人员所做的修改,辅助协调和管理软件开发团队。

版本控制在空间上可以保证完成集中统一管理,解决一致性和冗余问题。在开发工作中,开发人员在提交软件代码的时候一般采用服务器/客户端方式,尽管开发人员可以在自己的本地留有备份,但最终唯一有效的只有服务器端的程序代码;在时间上全程跟踪记录工具将会自动记录开发过程中的每个更改细节,和不同时期的不同版本。这在一定程度上可以解决冗余、事务性处理并发性问题。版本控制工具的使用,可以减轻开发人员的负担,节省时间,同时降低人为错误。

2.目的

为什么要花时间来写此文档?意义何在?会产生什么样的结果等等?一个个问号在我写此文档前期及写文档期间思考的问题,也许上面例子很大程度的阐述了代码管理及版本控制的重要性。

其实在一个无开发团队、萌芽开发团队或者独立编写代码的个体来讲,谈版本控制远远属于形而上学的事情,起初我个人也没意识到处于无代码规范及版本控制状态产生的后果及影响,随着编码时间推移加上之前所服务公司代码管理上的硬性要求,逐渐对版本控制有了阶梯式的认知。就如同在应用系统研发中对相关项目文档的书写一样,从无法下手到被迫了解、书写,再到客户对文档格式、内容质量要求的被动性提升,最后养成了在项目中文档先行的习惯,在提升自己对项目统筹管理的同时,也对自身来说受益匪浅。

首先申明,一个完善、良好的软件在世界上没有一个人打造出来的事情,软件研发世界中,没有一个人的帝国,只有帝国中的英雄。当然在现实软件世界中,存在唯心主义以及伪软件数不胜数,这种现象的存在和行业、国情等等息息相关,这里不做论证。要说明的是,既然团队开发,代码规范、版本管理则必不可缺。

3.适用范围

本规范文档适用于软件研发部门、项目成员、前、后端软件工程师、页面设计师等人员。

4.svn 规范及要求

4.1 SVN 操作流程

4.2账号

开发人员遵循一人一号原则,不得向他人透漏,严禁使用他人账

版本库 本地工作副本

相关文档
最新文档