造成開發效率底下並且代碼難以維護的 35 個惡習
本隨筆文章,由個人博客(鳥不拉屎)轉移至博客園
寫於: 發佈時間:發佈時間:2018 年 06 月 23 日
原地址:https://niaobulashi.com/archives/badHabit.html
偶爾在Linkedin英領上看到高級軟件工程師,全棧工程師Christian Maioli早前分享的在項目開發中很多人遇到的通病,我看了覺得比較有用,特別是對即將畢業進入公司項目組、或者正在進行項目開發的小夥伴,應該會有點幫助吧。
我也算是有兩年快三年的工作經驗了吧,從2015年8月進入公司開始實習,到16年17月份轉正一直在這家公司,前後投入開發過6個項目,從項目開發上養成良好的工作習慣還是很重要的!
代碼管理
1.總是說“一會弄好”,但從來不兌現。(缺乏任務管理和時間管理能力)
2.堅持所謂的高效、優雅的“一行代碼流”,事實上,可讀性纔是最重要的,聰明是第二位的。
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.忽略其他非功能性需求。(例如安全和性能,準備一份這方面的清單,忽略這些會毀掉你的所有成果)。