显示页面过去修订反向链接回到顶部 本页面只读。您可以查看源文件,但不能更改它。如果您觉得这是系统错误,请联系管理员。 ====== 软件工程 ====== * [[https://qiangmzsx.github.io/Software-Engineering-at-Google/#/|Software-Engineering-at-Google]] ===== 测试 ===== * 单元测试 * 自动测试 * 持续集成 ===== 重构 ===== * 一切没有自动化测试的代码重构都是耍流氓。 * 自动化测试 * 提高测试覆盖率 * 重构的时机: 重构代码最佳的时间点:撰写每行代码的时候,而非火烧屁股的时候。 * 一. 当你写一段代码时,不得不从别处拷贝粘贴代码(第二次拷贝还可, 当第三次拷贝时, 就要考虑了). DRY(Don't repeat yourself) * 二. 你修改已有代码添加新功能时,发现已有代码总感觉哪里不对, 比如说,逻辑写得太绕,太复杂,太难以理解,循环太多,分支太多,状态太多等等 * 三. 当你调用已有的代码时(函数,类),不得不阅读被调用的代码才能确定怎么调用时 * 四. 当你写一段代码时,连带着要改很多代码 * 严格自律与他律, 人性本懒, 需要 role model (初始从自己做起,再带动团队) 与 团队气氛. ===== 项目工具推荐 ===== * IDE/代码编辑器 * [[public:it:vscode]] * 代码版本管理 * [[public:it:git]] * [[https://github.com/|github]] <wrap lo>[在线]</wrap> * [[https://bitbucket.org/product/|Bitbucket]] <wrap lo>[在线]</wrap> * [[https://gitlab.com/gitlab-org/gitlab|gitlab]] <wrap lo>[可自建]</wrap> * [[https://github.com/theonedev/onedev|onedev]] <wrap lo>[可自建]</wrap> * <del>[[https://gitee.com/|Gitee]] <wrap lo>[在线] [国内]</wrap></del> 开始有预审查,不推荐。 * [[https://sourcehut.org/|SourceHut]] <wrap lo>[在线]</wrap> <wrap lo>[可自建]</wrap> [[https://ulyc.github.io/2022/08/10/sourcehut-the-hackers-forge/|介绍]] * [[https://github.com/charmbracelet/soft-serve|soft-serve]] <wrap lo>[可自建]</wrap> 只需在命令行执行一条命令,就能自己搭建 Git 服务器,简单易用 * [[https://github.com/harness/gitness|Gitness]] <wrap lo>[可自建]</wrap> 除了首次加载网页比较慢(需要下载十几M),其它都很符合自建git服务的需求。 * 代码Review * [[https://www.reviewboard.org/|ReviewBoard]] * [[https://www.gerritcodereview.com/|Gerrit]]<wrap lo>[可自建]</wrap> * 测试 * [[https://www.zentao.net/|禅道]] <wrap lo>[可自建] [国内]</wrap> * [[https://www.tapd.cn/|TAPD]] <wrap lo>[在线] [国内]</wrap> * CI/自动化 * [[public:it:jenkins]]<wrap lo>[可自建]</wrap> * web测试自动化:[[https://www.selenium.dev/|Selenium]] * 文档 * [[https://www.atlassian.com/zh/software/confluence|Confluence]] <wrap lo>[可自建]</wrap> * [[https://www.showdoc.com.cn/help|Showdoc]] <wrap lo>[可自建] [国内]</wrap> * [[https://www.yuque.com/|语雀]]<wrap lo>[线上] [国内]</wrap> * [[https://www.apipost.cn/|Apipost]]<wrap lo>[线上] [国内] [自建收费]</wrap> 专注api文档 * [[https://github.com/outline/outline|Outline]]<wrap lo>[可自建] </wrap> 团队知识库,自建认证也需要可团队认账的账号,google workspace, slack 等。 * [[https://github.com/docmost/docmost|Docmost]]<wrap lo>[可自建] </wrap> 团队文档,安装简单,文档编辑丰富,不依赖第三方账号,界面纯英文 * [[https://www.docusaurus.cn/|Docusaurus]]<wrap lo>[可静态部署]</wrap> 直接生成静态文件web,可作为对外的技术文档,挺好用的。 * 产品设计/代码设计 * [[https://plantuml.com/zh/|PlantUML]] * 画图:[[https://www.processon.com|ProcessOn]] <wrap lo>[在线] [国内]</wrap> * 画图:[[https://www.diagrams.net/|diagrams.net]] <wrap lo>[在线]</wrap> * 任务管理 * 敏捷 scrum * [[https://trello.com/|Trello]] * [[https://github.com/plankanban/planka|Planka]]<wrap lo>[开源] [自建]</wrap> 类似 trello 的开源版 * [[https://www.leangoo.com/leangoo|leangoo]] <wrap lo>[在线] [国内]</wrap> * [[https://www.tapd.cn/|TAPD]] <wrap lo>[在线] [国内]</wrap> ===== 项目结构 ===== * [[https://monorepo.tools/|Monorepo]]: monorepo 指多个相关项目放在同一个代码仓库里面,链接介绍相关的知识与工具。 public/cs/software_engineering.txt 最后更改: 2024/11/01 14:29由 oakfire