30 個提升團隊研發(fā)效能的錦囊

1. 技術選型
團隊成員對技術的熟悉程度。團隊成員對技術越熟悉,培訓成本越小,開發(fā)效率越高。在一個都是 ?Java 工程師的團隊提出使用 C++ 簡直不講碼德!
團隊對技術的掌控度。團隊內(nèi)至少要有一個人非常了解該技術,懂得最佳實踐,能夠指導團隊正確運用技術,并解決疑難問題。
技術的主流程度和生態(tài)。技術越主流,文檔、實踐和解決方案就越多,而使用冷門技術可能出現(xiàn)無法解決的問題,整段垮掉!
技術和業(yè)務的貼合程度。技術是為業(yè)務服務的,因此必須結合具體的業(yè)務場景去選用技術。比如在只有幾個用戶使用的小網(wǎng)站中運用微服務框架是一個愚蠢的選擇。

2. 開發(fā)工具
JetBrains 全家桶、Vscode、Sublime 等等,不必沉迷于某一款開發(fā)工具無法自拔,可以針對項目的類別和體積進行選擇。Cloud Studio,無需下載任何軟件,直接在瀏覽器中進行開發(fā)和調(diào)試、實時瀏覽。對于小型項目的開發(fā)也許是一個不錯的選擇。
3. 代碼規(guī)范

4. 腳手架
Vue 的腳手架 Vue Cli 和前端框架 React 的腳手架 Create React App。
5. 低代碼構建
App Maker 和微軟的 Power Apps 等。
6. 內(nèi)部依賴倉庫
Maven 和 npm 源,從國內(nèi)下載依賴的速度非常慢。雖然下載慢的問題可以通過配置國內(nèi)鏡像源得到一定程度的解決,但是無法直接在公有軟件源上傳私有包。Nexus。
7. 本地開發(fā)熱更新
Webpack Dev Server;在 Java 后端有 熱部署插件 JRebel。
8. Serverless



9. 代碼托管
GitHub,世界上最大的代碼開源托管平臺。每個人都可以把自己的代碼發(fā)布到 GitHub 上,作為一個代碼倉庫,隨時隨地遠程管理。還可以搜索和瀏覽其他人發(fā)布的代碼倉庫,以此實現(xiàn)高效地合作開發(fā),促進項目的完善。GitLab,可以針對不同的項目為成員分配權限,更好地管理團隊的代碼。
10. 本地代碼檢查

Git Hooks,在代碼提交前自動執(zhí)行代碼檢查,npm 項目可以通過 Husky 插件實現(xiàn),還能配合 ESLint 實現(xiàn)代碼自動修復。
11. 代碼提交規(guī)范
Commit Message,比如下面的格式:<提交類型>[可選的作用域]:?<描述>
[可選的正文]
[可選的腳注]
Change Log(代碼改變?nèi)罩荆?/section>commitlint 和 commitizen 等插件實現(xiàn)自動修復不規(guī)范代碼。
12. 代碼審查


13. CI/CD 流水線


Jenkins 老爺爺,可以配合代碼托管平臺 GitLab 等實現(xiàn)完全自動化打包、構建、發(fā)布,再也不用開發(fā)人員一臺臺登錄機器去執(zhí)行重復的命令了,不僅大大提升了團隊研發(fā)效率,還保證了發(fā)布流程的規(guī)范和安全性。
rm -rf *。
14. 監(jiān)控告警


15. 日志平臺

Elastic Stack(Elasticsearch + Logstash + Kibana + Filebeat) ,使用它可以搭建一套企業(yè)級日志平臺,輕松管理上百萬甚至是上億的日志數(shù)據(jù)。
16. 接口文檔平臺
Swagger 等工具自動生成精美的接口文檔網(wǎng)站,開發(fā)者還可以在網(wǎng)站上直接測試各個請求,告別了手動編寫文檔的低效繁瑣,提升了開發(fā)和協(xié)作效率。
17. 接口測試平臺
Curl、Postman 等工具進行接口測試,簡單易用。但是有些時候,本地網(wǎng)絡(公網(wǎng))和測試環(huán)境(內(nèi)網(wǎng))的網(wǎng)絡不互通怎么辦?
18. 即時協(xié)作
Vscode 的 VS Live Share 插件,支持多人連線,團隊成員可以同時對文件進行編輯,甚至還能看到對方的光標!

19. 團隊知識庫

20. 進程監(jiān)控
Supervisor 和 Monit 等。
21. 前端監(jiān)控統(tǒng)計
Sentry、騰訊的 Aegis 等,直接申請賬號接入即可,省去了自己搭建的麻煩。
22. 任務調(diào)度平臺
Elastic Job 和 XXL-JOB,可以直接搭建使用。
23. 配置中心
Apollo、阿里的 Nacos 等,可以直接在界面上創(chuàng)建和發(fā)布配置,還能對配置進行版本控制,靈活地升級和回退。使用配置中心能夠提升配置管理的效率,同時避免重復地改動項目的配置文件。
24. 鏈路追蹤
/**
?*?獲取用戶詳情(依賴三個接口)
?*/
function?getUserDetail()?{
??let?user?=?getUserById();?//?得到用戶基本信息?10ms?
??user.account?=?getUserAccount();?//?得到賬戶信息?20ms
??user.idcard?=?getUserIdCard();?//?得到用戶身份證信息?20ms
??return?user;
}

25. 容器管理平臺



26. 中臺


27. 腳本管理
do?stop
do?clear
do?start
./restart.sh
28. 可視化數(shù)據(jù)管理

Navicat、JetBrains DataGrip 等。MySQL 數(shù)據(jù)庫的 phpMyAdmin,開發(fā)者無需在本地安裝任何軟件,直接打開網(wǎng)站,輸入密碼,就能夠瀏覽和操控數(shù)據(jù)啦!
29. 項目管理
TAPD 和 Jira。
30. 企業(yè)通訊

評論
圖片
表情
