开发人员提交文件规范一、提交版本注意事项1.先更新,再提交SVN更新的原则是要随时更新(SVNUpdate),随时提交(SVNCommit)。当完成了一个小功能,能够编译并且通过自己测试之后,谨慎地提交。如果在修改的期间别人也更改了SVN的对应文件,那么Commit就可能会失败。如果别人和自己更改的是同一个文件,那么Update时会自动进行合并,如果修改的是同一行,那么合并时会产生冲突,这种情况就需要同之前的开发人员联系,两个人一起协商解决冲突,解决冲突之后,需要两人一起测试保证解决冲突之后,程序不会影响其他功能。2.不要提交不能通过编译的代码代码在提交之前,首先要确认自己能够在本地编译。如果在代码中使用了第三方类库,要考虑到项目组成员中有些成员可能没有安装相应的第三方类库。确保开发小组成员在签出(SVNCheckout)代码之后能够在统一的环境中进行编译。3.每次提交必须书写明晰的注释在一个项目组中使用SVN,如果提交空的注释或者不确切的注释将会让项目组中其他的成员感到很无奈,项目负责人无法很清晰的掌握工作进度,无法清晰的把握此次提交的概要信息。在发现错误后也无法准确的定位引起错误的文件。4.提交时注意不要提交本地自动生成的文件在例如eclipse中的.classpath文件,Windows生成的缩略图Thumbs.db,项目编译生成的临时文件.obj,.class等。5.不要提交自己不明白的代码代码在提交入SVN之后,你的代码将被项目成员所分享。如果提交了你不明白的代码,你看不懂,别人也看不懂,如果在以后出现了问题将会成为项目质量的隐患。6.慎用锁定功能在项目中要慎用锁定的功能,在你锁定了一个文件之后别人就无法继续修改提交该文件,虽然可以减少冲突的发生率,但是可能会影响项目组中其他人员的工作。平时只有在编辑那些无法合并的文件(例如图片文件,flash文件等)时,才适当的采用锁定操作。7.提交出错若是配置管理员发现开发人员提交到错误分支的时候,通知开发人员,一定要回滚到提交前的文件的版本8.不要轻易删除版本库中原有的文件若是需要删除文件,需要和相关负责人协商之后确认是需要删除的,发出相关邮件通知相关的开发人员确认后才可以删除。不过一般不建议删除版本库的中文件。9.提交到分支上的文件都是需要更新到测试环境言外之意即是开发人员需要对提交到分支上面的文件负责,保证自测通过且需要发布更新;二、提交规范1.文件版本及SQL脚本注释提交规范:文件或SQL提交注释模板及样例:例如:【需求编号和BUG编号】2013-MT-0004【需求概述或BUG概述】核保临分规则更新【本次修改概述】非标准体累计保额以明确提交内容为基本原则。2.数据库脚本书写规范1)建表语句中表名和字段名不允许加引号,否则该表名或字段名将是大小写敏感的;2)新建表或修改已有表的结构之后,须将重新生成的schema3)表结构修改脚本:表结构的修改一般包括添加字段,修改已有字段的数据类型,删除表中已有字段或对字段改名的操作是不允许的。4)数据插入脚本:在插入语句之前必须加对应的查询、删除语句,确保数据不会有主键冲突。5)数据修改、删除脚本:在修改、删除语句之前必须加对应的查询语句。6)将脚本文件的编码格式指定为“ANSI/DBCS”格式,或将脚本用记事本打开,点击“另存为”按钮,将编码格式指定为“ANSI”。7)脚本文件中的每一条命令结尾必须加分号,一条命令最好写在一行中(不做强制要求),DDL操作和DML操作不要写在同一个脚本中。3.产品定义数据文件:产品定义数据文件提交为:产品定义的excel模版和相应的(费率、现价、保单打印)表结构及数据信息。产品模板提交在所在分支下sql\产品模板中,以产品代码命名。如:IPAG11.xls费率、现价等表及数据提交也已产品代码命名,放在相同目录下。如:IPAG11.sql有关新产品提交均采取提交数据库文件(excel表)来提交,如后续有对数据库的修改也采取提交excel文件直接导入。不采取提交SQL脚本文件(除费率表、现价表、保单打印表相关信息),如果提交产品定义文件包括excel文件和SQL脚本将会造成由于执行的先后顺序而导致一些不必要的问题。4.数据库脚本命名规范1)提交路径:Sql文件提交到所在分支的sql目录下,按照sql类型进行提交,如:DDL、DML、FUNCTION(包括function\view\procedure等)、环境配置(环境相关配置sql):2)命名格式:针对类型:脚本分类包括DML(数据操作语言),DDL(数据库定义语言):时间_提交人_脚本分类|提交序号.sql命名实例:200607201315_zhangsan_需求编号_dml1.sql200607201315_zhangsan_需求编号_dml2.sql200607201315_wanglaoww需求编号_ddl.sql时间格式为YYYYMMDDHHMM;提交人姓名用英文拼写,拼写规则:全拼;当一次要提交多个数据库脚本时,需要在文件名的最后加序号以区分。针对类型:Function(函数、视图、存储、触发器):FunctionName.sql命名实例:HEALTHYAMNT2.sql针对类型:环境配置:相关环境,包含IP或其它服务器地址、配置的信息。需标明所上环境。如:YYYYMMDDHHMM-环境配置-PRD.sql3)特殊处理脚本(大批量insert语句,一般超过200条均认为是大批量insert语句)提交命名规范。目前只有开发新产品时涉及到,如费率表、现价表、保单打印表等都是大批量数据的导入。如果采取提交insert语句的方式将会降低配置管理岗的工作效率。目前我们统一采取SQLLDR形式处理:具体的处理方式可参考附件:大批量数据导入脚本.rar