要適當解耦,但不是要全部解耦,要學會劃分好模組
查詢問題的根源,而不是著眼於解決當前問題
先思考,再寫**
不要用原始的陣列,而是使用boost::array
盡量使用shared_ptr,如果有效率需求使用unique_ptr
如果介面框架提供mvc模型,一定要使用mvc的方式來編寫
不要濫用繼承,繼承一定要有邏輯關係,is-a的模型,不要為了方便一些操作就把所有東西都放在基類,然後繼承下來,如果是為了方便操作,復用**,應該將**封裝成乙個函式
c++裡面如果使用coroutine,一定要記得清理資源
利用boost_scope_exit在資源申請的地方順便寫下資源清理的**,類似於go的defer
與人交流,如果超過一定的複雜度,最好帶上設計圖或者框架圖
熟悉團隊的英文水平,在使用英文命名變數或者類的時候,記得帶上注釋,如果是縮寫,也要帶上中文注釋
在使用map的時候,key如果是int,string這種基礎型別,最好使用typedef,便於讓人看出這個key是幹什麼的,list,vector同理
如果程式需要處理特殊處理,應該要寫注釋,比如在乙個const的類函式裡面,如果需要const_cast(this),那麼要寫上注釋,告訴其他人為什麼要這樣做
統一變數,函式的名詞命名,比如評分,有的用score,有的用judging ,整個專案裡面應該統一使用一種名詞,防止混亂
即時溝通,不要悶頭做事
即時審查**
利用mvc模型來進行資料和介面分離,然後通過資料來做測試
專案確定的時候,需求沒確定,做一步看一步的時候,如果不知道資料要歸誰管理,統一放在global裡面,然後定時整理**
乙個專案裡面最好要有乙個可以統一放置全域性變數的地方
如果對效能,記憶體要求不是很嚴格,使用vector而不是list,因為你永遠不會預料到需求是否會有隨機讀取的操作,那到時候只能用std::advance來獲取
善於利用stl algorithm,如果遇到stl的資料處理先看下有沒有對應的stl演算法
由於stl的**編寫可能很長,所有可以建乙個檔案放置全域性巨集定義,類似qtglobal檔案
不要越級去分配任務,否則會讓下屬只做更上層的事情
過分宣傳個人責任與懲罰,這是某種形式的管理懶惰,進而導致的是多做多錯,少做少錯,盡量不做
管理工程師要從技術上管理,在準備對乙個工程師進行管理的時候要讓他承認你的技術
要培養下屬較真的能力
工程目錄要制定好
要有乙個地方儲存改進記錄
產品跟技術,不能偏向,兩者需要爭論,然後才能讓大家理解兩邊的想法
做事要懂得互惠
績效考核主要面對管理者,避免量化技術
弱化測試和開發的邊界,引導技能互通
測試的出現並不是為了給開發推卸責任,而是要幫程式設計師找到問題的所在,從而更好的解決問題
定期整理問題反思記住是反思不是找誰負責 而是找怎麼避免問題,如果是技術水平管理者有必要幫助下屬提公升技術水平,這就是30條的做事要懂得互惠
管理者不僅要懂人,還需要懂業務和技術
給每一段**編寫注釋,不管**多簡單,都打上幾段的注釋
測試的好處只有在專案足夠大得時候,越進行到越後面,需要更改的需求越多才會顯示出來,剛開始是會讓大家感覺到厭煩的東西
測試人員及早介入專案,針對功能建立測試用例,開發人員進行檢視測試用例,然後考慮是否可以針對這些功能進行自動化測試,然後建立自動化測試的文件,後面寫**的時候需要針對這部分進行製作
測試驅動開發的關鍵在於在編寫測試的時候理解需求,思考**的組織和架構, 而非為了測試而測試
與其依賴於測試員尋找bug,不如靠整個團隊自己產生沒有bug的**
技術的老大應該隨時緊跟潮流,而不是仰賴自己的技術出身管理整個技術團隊,但是用的卻是幾十年前的那一套技術
變數函式名等不要吝嗇單詞
程式設計師要從測試的角度思考**
測試驅動開發是為了將軟體開發分成乙個個粒度比較小的開發任務
將乙個bug轉換成乙個測試用例
敏捷開發的重點在於自動化測試和持續發布,而不是每天開會
一些socket的程式設計經驗
沒有逐條實踐,先收藏,歡迎交流。1.如果在已經處於 established狀態下的socket 一般由埠號和標誌符區分 呼叫closesocket 一般不會立即關閉而經歷time wait的過程 後想繼續重用該socket bool breuseaddr true setsockopt s,sol ...
一些專案管理經驗
1 專案週期估算 專案週期估算的時候必須考慮幾個因素 專案成員的技術水平 職業的素養 被激勵的程度。如果沒有把握的話,應該盡量悲觀的估計,方法是先估計正常的週期,然後乘乙個係數。2 盡早qc 質量檢查 很多時候,團隊成員的技能水平往往達不到要求的目標,那麼,如果等到方案階段快要結束的時候再次檢查方案...
關於MTK socket程式設計的一些經驗
static int myint unsigned char p static short myshort unsigned char p 7.cmwap的http協議模擬 cmwap必須通過10.0.0.172 80埠進行 走http協議.一般是1.1 x online host後面跟著的就是目標...