《人月神話》出版以來,IT行業的科技公司們一直苦苦追尋傳說中以一當十的超級程序員,最新的研究代表確實存在這樣一小撮效率奇高的「程序金剛」,可是一位普通程序猿如何可以蛻變成代碼金剛呢?html
近日web開發專家Christian Maioli總結了致使程序猿效率低下,代碼像意大利麪條同樣難以維護的35條惡習(歸爲代碼組織、團隊工做、寫代碼、測試與維護四大類)。程序員
1.老是說「一會弄好」,但歷來不兌現。(缺少任務管理和時間管理能力)web
2.堅持所謂的高效、優雅的「一行代碼流」,事實上,可讀性纔是最重要的,聰明是第二位的。vim
3.無心義的優化。(相似網頁大小之類的優化最後再作)安全
4.不注重代碼樣式和風格的嚴謹。工具
5.使用無心義的命名。性能
6.忽略通過驗證的最佳實踐(例如代碼審覈、TDD、QA、自動化部署等,推薦閱讀軟件開發必讀經典著做:Making Software:What Really Works,and Why We Believe It)。開發工具
7.給本身埋雷。(例如使用不會報錯的庫或者忽略例外)測試
8.過早放棄計劃優化
9.堅持一個無效的計劃
10.老是單打獨鬥。(必須強迫本身與團隊分享進度和想法,避免錯覺,提升效率)
11.拒絕書寫糟糕的代碼。(日程緊迫的時候能夠寫一些「糟糕」的代碼,這是程序員的能力而不是bug,固然,有時間的時候必定要回頭償還「技術債」)
12.抱怨他人。
13.不與團隊分享所學。
14.向主管/客戶反饋的速度過慢
15.不會充分利用Google
16.看重我的編碼風格
17.帶着我的情緒看待他人對本身代碼的評論和註釋
18.不懂優化策略
19.使用錯誤的工具。
20.不追求對開發工具和IDE的精熟。
21.忽略報錯消息。
22.迷戀稱手的開發工具。(不一樣類型的開發任務須要匹配對應的最佳開發工具,例如Sublime適合動態語言,而Eclipse適合Java,若是你喜歡vim或emacs,並不意味着能用這些工具幹全部事)
23.不注重代碼中賦值的可配置性。(不養成把代碼中的活動部件分離出來的習慣,會致使技術債暴增)
24.喜歡從新發明車輪。
25.盲目地剪切/粘貼代碼。
26.應付差事,不求甚解,不花時間搞清楚項目運做的機理。
27.對本身寫的代碼過分自信。
28.不去考慮每個設計、方案或者代碼庫的「反作用」。(一個成功的用例並不意味着「萬靈藥」)
29.在一個地方卡住了但堅持不呼救。
30.只去寫能經過的測試
31.重要項目中忽略性能測試
32.不去核實代碼是否真的可用,沒有養成開發中及時快速測試的習慣。
33.重大改動延遲推送
34.拋棄和逃避本身的代碼。
35.忽略其餘非功能性需求。(例如安全和性能,準備一份這方面的清單,忽略這些會毀掉你的全部成果)
查看更多:老餘博客www.xjqyc.cn
原文出處:https://www.cnblogs.com/yuyong970919/p/10314158.html