目录
软件工程
测试
重构
项目工具推荐
项目结构
软件工程
Software-Engineering-at-Google
测试
单元测试
自动测试
持续集成
重构
一切没有自动化测试的代码重构都是耍流氓。
自动化测试
提高测试覆盖率
重构的时机: 重构代码最佳的时间点:撰写每行代码的时候,而非火烧屁股的时候。
一. 当你写一段代码时,不得不从别处拷贝粘贴代码(第二次拷贝还可, 当第三次拷贝时, 就要考虑了). DRY(Don't repeat yourself)
二. 你修改已有代码添加新功能时,发现已有代码总感觉哪里不对, 比如说,逻辑写得太绕,太复杂,太难以理解,循环太多,分支太多,状态太多等等
三. 当你调用已有的代码时(函数,类),不得不阅读被调用的代码才能确定怎么调用时
四. 当你写一段代码时,连带着要改很多代码
严格自律与他律, 人性本懒, 需要 role model (初始从自己做起,再带动团队) 与 团队气氛.
项目工具推荐
IDE/代码编辑器
VisualStudio Code
代码版本管理
GIT
github
[在线]
Bitbucket
[在线]
gitlab
[可自建]
onedev
[可自建]
Gitee
[在线] [国内]
开始有预审查,不推荐。
SourceHut
[在线]
[可自建]
介绍
soft-serve
[可自建]
只需在命令行执行一条命令,就能自己搭建 Git 服务器,简单易用
Gitness
[可自建]
除了首次加载网页比较慢(需要下载十几M),其它都很符合自建git服务的需求。
代码Review
ReviewBoard
Gerrit
[可自建]
测试
禅道
[可自建] [国内]
TAPD
[在线] [国内]
CI/自动化
Jenkins
[可自建]
web测试自动化:
Selenium
文档
Confluence
[可自建]
Showdoc
[可自建] [国内]
语雀
[线上] [国内]
Apipost
[线上] [国内] [自建收费]
专注api文档
Outline
[可自建]
团队知识库,自建认证也需要可团队认账的账号,google workspace, slack 等。
Docmost
[可自建]
团队文档,安装简单,文档编辑丰富,不依赖第三方账号,界面纯英文
Docusaurus
[可静态部署]
直接生成静态文件web,可作为对外的技术文档,挺好用的。
产品设计/代码设计
PlantUML
画图:
ProcessOn
[在线] [国内]
画图:
diagrams.net
[在线]
任务管理
敏捷 scrum
Trello
Planka
[开源] [自建]
类似 trello 的开源版
leangoo
[在线] [国内]
TAPD
[在线] [国内]
项目结构
Monorepo
: monorepo 指多个相关项目放在同一个代码仓库里面,链接介绍相关的知识与工具。