最近在做的一些项目,大多都是第一次接触这么复杂的项目,一路做下来,有一些经验教训,记录在这里~
关于数据库设计
· 键值
作为表中每条记录的唯一标识,即使表述对象本身有唯一标识比如身份证号之类的,也最好有一个随机生成或是时间戳与其他信息组成的字符串作为键值。否则,在处理删除及删除后新建相同id的记录时会产生很麻烦的问题。
关于系统设计
· 封装
一些常用的重复性的工作,可以考虑将其封装成一个组件,其接口要注意考虑 扩展性、兼容性问题,以便更方便地使用。具体说来,ui组件化、模型方法写得更完善一些,等等,可以更好地减少冗余代码,提高开发效率。在修改组件后,调用它的地方也可以精准地实现修改。
· 协同开发
在项目中,运用一些成熟的框架,可以帮助我们更好地理清系统构架,也便于进行任务的划分。然而任务的划分可以是纵向的或者是横向的,取决于开发者的能力分布和水平。在非理想状况下(比如人员、需求不可控的教研室项目= =),例如一个小型项目,两三个人,每个人更擅长某一方面时,横向地划分任务可以促进合作,提高开发效率。而在复杂的项目中,人员多而水平参差不齐时,根据能力水平纵向划分不同功能点,可能可以更好地发挥每个人的作用。而在有条件的情况下,尽量选择少而精的开发人员,尽量利用git、svn等版本控制工具是最好不过的了~