一些程式設計和管理的經驗

2021-09-27 03:42:57 字數 2034 閱讀 2276

要適當解耦,但不是要全部解耦,要學會劃分好模組

查詢問題的根源,而不是著眼於解決當前問題

先思考,再寫**

不要用原始的陣列,而是使用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後面跟著的就是目標...