项目实践经验之谈:Projects

  1. 项目相关的事物要尽量放在代码库里,包括项目代码甚至依赖包源码Code、生成的文档Javadoc、构建脚本Ant及工具的安装包(如Install4j)、接口及设计文档Doc等,要做到的目标是:从一个全新的机器上可以检出并配置项目开发所需的一切事物。可能项目文档不太适合放在代码库里,同时项目开发还需要基于网络的jforum论坛讨论、jtrace任务跟踪、wiki帮助及文档等支持,公共的交流平台及邮件通知是很好的辅助手段。
  2. 项目以代码库的版本为最新标准并与之同步,不要本地手动去维护一份更新或随意更改别人维护的代码(最好通知他来更改),可以建立分支来探索式更改。运行或测试不要对本地机器产生太强的依赖(环境变量及专有工具等),否则在其他机器上运行不了就很难调试错误,因为本地看起来一切正常。 不要轻易修改他人的代码(除非你在维护而他已离职、或你清楚自己再做什么),全局变量与模块内部的范围划分清楚,模型model、显示view和控制control概念的代码隔离清晰(以接口调用彼此交互)。
  3. 软件的更新中有些旧文件删除不用了,需要“确保”它们被删除了,因为用户可能是覆盖安装,旧文件依然存在,它们可能给新版本带来问题。这里的原则是让用户使用的客户端始终与发布的最新版完全一样,不多余也不遗漏文件。复杂一点可以增加软件完整性检查,保证有正确的文件集合及校验值,否则就更新下载正确的程序文件,避免客户端出现未能预料到的问题。代码注释和说明文档很重要,它们的抽象层次比代码本身高很多,过多地钻入代码会难以自拔,而是要从更高的层次来把握对象关系。同样自己写代码也要重视注释和文档的规范化,并提交到代码库中。
  4. 软件项目通常包含:需求文档,设计文档(概要及详细设计),操作说明文档;文件操作及拖拽支持,菜单支持(工具栏、快捷菜单、快捷键:以Action统一组织),国际化支持(ResourceBundle及Ant native2ascii提供),包规划(主类control、显示gui、模型model、工具utils等),程序资源(图标icon、图片jpg,jpg、声音wav,mp3、配置properties,xml),打包运行及安装包制作(ant jar、Install4j),关于和更新(updater),用户便捷反馈等。
posted @ 2011-06-03 10:37 xlongwei 阅读(...) 评论(...) 编辑 收藏
xlongwei