寫好程式碼十個祕訣
林斌博士寫好程式碼十個祕訣[轉載]
軟體的質量屬性
魯棒 - Solid and Robust Code k]
簡潔 - Maintainable and Simple Code
高效 - Fast Code &
簡短 - Small Code
共享 - Re-usable Code
可測試 - Testable Code
可移植 - Portable Code
一、集百家之長, 歸我所用 - Follow Basic Coding Style
1.程式碼能夠清晰的表達你的思路
2.程式碼應該具備自解釋能力,註釋程式碼別是單純解釋語句,這種註釋毫無疑義
3.編碼的縮排和排版規範
4.所有的函式和變數應有他人容易理解的名字9
5.將Tab鍵改用為4個空格字元 MeE
6.減少但個函式的長度,控制在50-100行以內/N[o
7.避免幻數,多使用列舉和常量的定義*[
二、取個好名字 - Use Naming Conventions M'
1.採用匈牙利命名法對變數進行命名 -
2.名字要清晰表達含義,不要怕長 .
三、凌波微步, 未必摔跤 - Evil goto’s? Maybe Not…
1.goto的使用應該遵循原則,而不是全盤否定
2.不用寫高深晦澀的語句,不要一味追求效能忽視程式碼可讀性[d
3.模式並不是一味正確,特定問題更需要考慮反模式 N
四、先發制人, 後發制於人- Practice Defensive Coding ke
1.儘量保持程式碼的簡潔和簡單 s.
2.呼叫其它介面和函式時候首先對返回值進行檢查
3.避免有符號/無符號,32位/16位,被零除等誤算情況
五、見招拆招, 滴水不漏 - Handle The Error Cases: They Will Occur!
1.通過異常處理機制來保證程式程式碼的健壯性AC ~y@
2.異常處理中一定要注意資源的釋放fj190
3.異常處理要關注日誌的詳細記錄,便於後續BUG分析|& :l
4.不用把後臺編碼或系統異常直接拋給使用者
六、熟習劍法刀術, 所向無敵 - Learn Win32 API Seriously
1.Win32 API是微軟平臺程式設計根本 &,{Dve
2.對系統強大的公用類庫的熟悉和整理將事半功倍
七、雙手互搏, 無堅不摧 - Test, but don’t stop there %
1.如果你沒有進行測試,你完成的程式碼將僅僅是個半成品"
2.儘可能多的對自己的程式碼進行測試
3.編碼人員應該更專注於百盒測試和單元測試
4.要善於使用JUnit,NUnit,PureCoverage,Compuware,NCover等測試工具
5.相互間的Review和走查是對程式碼可維護性的重要測試手段
6.有特殊效能要求時候需要對相關功能或模組單獨進行效能測試
八、活用段言 - Use, don’t abuse, assertions
1.斷言可以很好的描述假設和不可能的情況
2.斷言對程式Debug很有用,可以儘早的發現程式問題
九、草木皆兵, 不可大意 - Avoid Assumptions
1.考慮到使用者使用的各種場景 p--|QRX!
2.不用假設使用者會正確輸入資料,要做好各種完整性和邊界的檢驗 u\/%{R\1Ti
3.程式中70%左右程式碼是為了保證這種完整性服務的,正常條件下功能可能30%程式碼就實現了 dKqbU
十、最高境界, 無招勝有招 - Stop writing so much code
1.一味拷貝貼上程式碼就是在製造拷貝BUG,這種程式碼對系統無任何意義 r`X%
2.編碼過程注意重用,函式級->元件級->系統級 O_NMd B\
3.通過重構持續改進程式碼質量,改進自我邏輯思維 3!M8`TrF
'0@;9
最後總結下:
1.養成良好編碼習慣,你面試的一小段程式碼可能就足一展現你全部陋習。
2.熟練使用好各種輔助工具,但不要全部依賴工具,最主要是學習分析和設計的思考方式
3.注重單元測試,關注程式效能,可維護性,可測試性是編碼技能提升重要手段 k{^
4.通過重構使編碼過程形成完整閉環的反饋迴路,重構能力可以很好體現自己的設計能力
5.養成良好習慣,形成自己的編碼過程檢查單,多請教老員工可能事半功倍。
軟體的質量屬性
魯棒 - Solid and Robust Code k]
簡潔 - Maintainable and Simple Code
高效 - Fast Code &
簡短 - Small Code
共享 - Re-usable Code
可測試 - Testable Code
可移植 - Portable Code
一、集百家之長, 歸我所用 - Follow Basic Coding Style
1.程式碼能夠清晰的表達你的思路
2.程式碼應該具備自解釋能力,註釋程式碼別是單純解釋語句,這種註釋毫無疑義
3.編碼的縮排和排版規範
4.所有的函式和變數應有他人容易理解的名字9
5.將Tab鍵改用為4個空格字元 MeE
6.減少但個函式的長度,控制在50-100行以內/N[o
7.避免幻數,多使用列舉和常量的定義*[
二、取個好名字 - Use Naming Conventions M'
1.採用匈牙利命名法對變數進行命名 -
2.名字要清晰表達含義,不要怕長 .
三、凌波微步, 未必摔跤 - Evil goto’s? Maybe Not…
1.goto的使用應該遵循原則,而不是全盤否定
2.不用寫高深晦澀的語句,不要一味追求效能忽視程式碼可讀性[d
3.模式並不是一味正確,特定問題更需要考慮反模式 N
四、先發制人, 後發制於人- Practice Defensive Coding ke
1.儘量保持程式碼的簡潔和簡單 s.
2.呼叫其它介面和函式時候首先對返回值進行檢查
3.避免有符號/無符號,32位/16位,被零除等誤算情況
五、見招拆招, 滴水不漏 - Handle The Error Cases: They Will Occur!
1.通過異常處理機制來保證程式程式碼的健壯性AC ~y@
2.異常處理中一定要注意資源的釋放fj190
3.異常處理要關注日誌的詳細記錄,便於後續BUG分析|& :l
4.不用把後臺編碼或系統異常直接拋給使用者
六、熟習劍法刀術, 所向無敵 - Learn Win32 API Seriously
1.Win32 API是微軟平臺程式設計根本 &,{Dve
2.對系統強大的公用類庫的熟悉和整理將事半功倍
七、雙手互搏, 無堅不摧 - Test, but don’t stop there %
1.如果你沒有進行測試,你完成的程式碼將僅僅是個半成品"
2.儘可能多的對自己的程式碼進行測試
3.編碼人員應該更專注於百盒測試和單元測試
4.要善於使用JUnit,NUnit,PureCoverage,Compuware,NCover等測試工具
5.相互間的Review和走查是對程式碼可維護性的重要測試手段
6.有特殊效能要求時候需要對相關功能或模組單獨進行效能測試
八、活用段言 - Use, don’t abuse, assertions
1.斷言可以很好的描述假設和不可能的情況
2.斷言對程式Debug很有用,可以儘早的發現程式問題
九、草木皆兵, 不可大意 - Avoid Assumptions
1.考慮到使用者使用的各種場景 p--|QRX!
2.不用假設使用者會正確輸入資料,要做好各種完整性和邊界的檢驗 u\/%{R\1Ti
3.程式中70%左右程式碼是為了保證這種完整性服務的,正常條件下功能可能30%程式碼就實現了 dKqbU
十、最高境界, 無招勝有招 - Stop writing so much code
1.一味拷貝貼上程式碼就是在製造拷貝BUG,這種程式碼對系統無任何意義 r`X%
2.編碼過程注意重用,函式級->元件級->系統級 O_NMd B\
3.通過重構持續改進程式碼質量,改進自我邏輯思維 3!M8`TrF
'0@;9
最後總結下:
1.養成良好編碼習慣,你面試的一小段程式碼可能就足一展現你全部陋習。
2.熟練使用好各種輔助工具,但不要全部依賴工具,最主要是學習分析和設計的思考方式
3.注重單元測試,關注程式效能,可維護性,可測試性是編碼技能提升重要手段 k{^
4.通過重構使編碼過程形成完整閉環的反饋迴路,重構能力可以很好體現自己的設計能力
5.養成良好習慣,形成自己的編碼過程檢查單,多請教老員工可能事半功倍。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8334342/viewspace-366207/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 編寫高質量程式碼的十個祕訣
- [譯] 不用祖傳祕方 - 寫好程式碼的幾個小技巧
- 如何寫好程式碼
- 如何寫好程式碼?
- JavaScript手寫程式碼無敵祕籍JavaScript
- 做了十幾年遊戲,他的成功祕訣是「沒錢」遊戲
- 【連載】高效人士的116個IT祕訣(第2版)——祕訣23早晨就來一次突破
- 好程式設計師不寫程式碼程式設計師
- 怎樣用程式碼寫出99成法口訣!
- 不會寫程式碼的播音生不是個好運營?
- 【連載】高效人士的116個IT祕訣(第2版)——祕訣24為你的時間建一個構造圖
- 如何寫好前端業務程式碼?前端
- 【連載】高效人士的116個IT祕訣(第2版)——祕訣25快速記錄你的工作日誌
- 我很久沒寫程式碼了,但我是個好架構師架構
- 如何寫好 5000 行的 SQL 程式碼SQL
- 如何寫好5000行的SQL程式碼SQL
- 我寫的 Python 程式碼,同事都說好Python
- Java程式碼寫好後怎麼執行?Java
- 感悟篇:如何寫好函式式程式碼函式
- 寫好shell指令碼的8個建議指令碼
- [轉]寫好shell指令碼的13個技巧指令碼
- 早起的十個好處
- 零基礎轉行IT程式設計師的成功祕訣程式設計師
- 偷懶祕訣之變數篇變數
- 兩行程式碼 寫個代理行程
- 給你講講編寫“高質量軟體測試用例”祕訣
- 好程式設計師Java分享Javamain十個面試題程式設計師JavaAI面試題
- python神祕程式碼Python
- 「中高階前端面試」JavaScript手寫程式碼無敵祕籍前端面試JavaScript
- Serverless 應用優化四則祕訣Server優化
- 現在哪個 UI 會寫程式碼?UI
- 十款程式碼表白特效,一個比一個浪漫!特效
- PHP AI 核心程式碼,估值十個億!PHPAI
- 好程式設計師寫出來的程式碼,就叫好程式碼嗎?你錯了!程式設計師
- 如何真正寫好程式碼註釋 — 現代 JavaScript 教程JavaScript
- 這件事不能只有我知道:以員工為本的7個祕訣
- 8.4學好linux的訣竅Linux
- 程式碼都寫不完,還寫個錘子註釋!
- 寫程式碼有這16個好習慣,可以減少80%非業務的bug