如何做好一个软件项目

如何做好一个软件项目

💡 原文中文,约3100字,阅读约需8分钟。
📝

内容提要

做好软件项目需关注环境、文档和管理三方面。环境应一致便捷,可用容器技术实现;文档应与源码同存并支持多语言;管理包括敏捷研发、本地规范与单元测试、Git工作流和代码审查。代码需结构清晰、设计合理,善用设计模式与SOLID原则,以提升可维护性和扩展性。

🔎

延伸解读

环境一致性:避免“本地能跑,线上就挂”

文章强调项目环境(本地、测试、线上)必须尽可能一致,否则会出现本地正常但上线后依赖缺失或指令集不同导致失败。同时环境应便捷,复杂环境会让新人难以入手,开源项目贡献者减少。容器技术能有效解决这两个问题,作者建议使用docker-compose.dev.yml和docker-compose.prod.yml等文件来管理环境。

文档与源码同存:版本同步的关键

文章建议所有文档应与项目源码一同保存,如放在docs目录,而非Wiki等额外地方。因为文档和项目一样有版本,放在Wiki会导致文档与项目版本不一致。文档主页README.md应包含项目概览和重要信息,其他文档包括使用、开发、API文档等。开源项目还应支持多语言,不同语言可放在不同目录。

敏捷与本地规范:提升迭代效率与代码健壮性

文章指出研发模式应从瀑布演进到敏捷,敏捷核心是用简易版本替代复杂版本,先跑起来更重要。本地开发管理需保证代码规范和单元测试,规范要添加工具约束,单元测试需检测覆盖率和防止移除失败用例。为减轻操作负担,应为开发流程提供工具和命令。代码集成需做好Commit规范、Git工作流和代码审查。

代码质量:结构与设计并重

文章认为项目代码质量至关重要,需关注代码结构和代码设计。代码结构包括目录结构和分层结构,应保持框架的代码结构,并推荐了分层结构。代码设计目标是提高健壮性、可扩展性和可维护性,设计模式是最容易实施的,SOLID原则是设计指导方针。作者还推荐了在线设计模式网站和GitLab最佳实践文章。

❓

Q&A

如何保证软件项目在不同环境中的一致性?

使用容器技术,如Docker,通过docker-compose定义不同环境的配置,确保本地开发、测试和线上部署环境尽可能一致,避免因环境差异导致的运行失败。

为什么项目文档应该和源码一起保存?

因为项目文档和项目一样有版本,放在Wiki等外部地方会导致文档与项目版本不一致。建议将文档放在项目的docs目录中,与源码一同版本控制。

敏捷研发模式的核心是什么?

敏捷模式的核心是用简易版本功能替代复杂版本,先让功能用起来,避免因研发周期过长而无法及时调整方向。

如何管理Git工作流以提高代码集成效率?

建议在主分支下工作,新功能从主分支切出,通过MR提交回主分支。根据项目需要逐步演进,最终使用功能分支+环境分支/标签的工作流,并遵循Commit规范和代码审查。

代码审查的简单流程是什么?

代码审查流程包括:创建MR、指定审查者、审查者提出意见、作者修改、审查者批准、合并。具体可参考GitLab Code Review Guidelines。

SOLID原则在代码设计中起什么作用?

SOLID是面向对象设计的五个基本原则,作为设计项目代码的指导方针,帮助设计出更加健壮、可扩展、可维护的软件系统,提高代码质量和可读性。

🏷️

标签

➡️

继续阅读