协作篇
- 不要运用还不成熟的技术。
- 相信别人,更要相信自己。
- 分工明确,降低分工之间的耦合度。
- 不要自己太突出,不能一个人做得太多。
- 不要去做分配给其它人的工作。
- 制定代码规范。
- 使用SVN管理代码。
- 与合作成员随时保持联系。
需求篇
- 确定每一个需求分析都得到客户的认同,不要开发者自己凭空设计!
- 制定详细的开发计划,认真讨论可能出现的问题,提前寻求解决方案。
- 做好需求分析,如果可以,一定要拿到客户的原始数据,摸清客户的业务细节。
- 认真分析客户目前使用的系统,客户一般会在些基础上提出一些需求。
- 并不是客户的所有需求都是正确的,当客户出错时,应该予以引导和纠正。
设计篇
- 不做过度设计,尽量运用自己之前使用过的成熟的设计框架。
- 首先构思软件操作界面,从而更加清晰地设计软件功能。(有点类似测试驱动开发)。
- 不能太过依赖最初编写的设计文档,其中可能会有一些当时无法发现的错误。
- 开发时要随时校验最初设计的正确性,以及是否有更简便的解决方法。
编码篇
- 认真注释代码。
- 尽量使代码结构清晰,即使需要使用多个局部变量,也不写多方法嵌套的一行语句。
- 命名形式统一。
- 在写较为复杂麻烦的方法时,最好事先将思路写成注释,形成大纲,然后再据此编写代码。
测试篇
- 一个方法一测试,将错误范围控制在最小,这样有利于调试发现和解决错误。
- 可在每个类中加入main方法测试,同时也说明了类的使用方法。
- 使用JUnit做单元测试,可在要测试的方法后紧跟测试单元。
- 测试类或者其它单元时,可以新建一个源码包,保持与原源码包同样结构,内放置测试单元类。
与客户沟通、交流
- 客户往往喜欢看软件的运行界面,喜欢以此为基础来听你讲解程序怎么样
- 说明书里多加软件运行的界面,结合界面讲解程序的功能、操作。
- 听从客户中最终能做决定的人的想法。
- 不要让用户接触稍微高深的东西,比如直接操作数据库。
代码托管
- 完成一个功能即提交相关代码,并附加详细的注释:完成了什么功能,目前还存在什么问题等等(改动或增加文件可自动记录)
- 用MyEclipse写项目,若直接提交MyEclipse工程文件,那么提交之前最好Project-clean up.. 一下。若有文件在MyEclipse之外被修改,则可能不会立即更新到MyEclipse中。
- 若提交不成功,可以尝试以下解决方法:
- 先使用SVN客户端软件将整个目录CLEAN一下,这样可以除去之前SVN操作失败所写入的SVN元信息,然后再提交。若无效,则:
- 先Update一下,这样可以保证本地文件与服务器文件相同版本或版本更新,然后再提交。若无效,则:
- 运行MyEclipse菜单项:Project-Clean up.. 稍等执行完成后,再提交。
经过以上三步,基本可以解决所常遇到的无法提交的问题,当然,前提是你的Respository配置正确,远程服务器OK。
- 若多人合作,且各自计算机环境配置有些许差别,可以用svn客户端软件将配置文件屏蔽掉,使之不同步。
其它将陆续补充,欢迎大家发表看法。