軟體開發技術經驗總結
眾所周知,軟體專案成功必要因素很多,泛泛來說,下面幾條也缺一不可。
1. 完備調研,專案需求分析完美契合使用者或者客戶所需所想
2. 開發實施:設計、Coding、測試、部署、運維,每一流程都達到或者超出預期目標
3. 市場推廣:銷售或市場人員對產品合理推廣
這篇文章將更多的集中在第二條開發實施這塊,做一些常見的技術經驗,希望對大家有一些借鑑。
設計這塊,請參考 “產品開發技術文件模板”這篇文章。
Coding
泛泛的模組化,SOA等等這些概念,這裡不想贅述,這兒更多分享一些實戰經驗,不限開發語言。
1. 執行緒安全:Coding簡單來說就是邏輯性的呼叫基本庫API /開源庫的API 及語言基本組成部分(語法、結構、變數、常量、語句、函式等),給定輸入,輸出預期輸出,因此,編碼者應本著對程式負責的態度,仔細閱讀你所使用API 文件/API 原始碼來確定是執行緒安全的,如果不是執行緒安全的,要麼你沒有多執行緒場景,要麼你自己通過執行緒鎖/讀寫鎖機制去保證執行緒安全,結構同樣如此,比如golang map就不是執行緒安全的。
2. API 限制: API是由使用條件的,比如buffer最大長度等等,這時一定要基於你的應用場景做出合適的處理,是分段處理,還是通過API提供的調整API buffer 最大長度API去加長buffer最大長度,這些均需要你從系統穩定性及效能去考慮選擇最優方案,比如kafka系統receive size是由配置檔案配置size決定的,你需要了解它的size限制。
3. Failover機制: 未完待續