程式設計師的35個壞習慣,你有幾條?

codebay發表於2018-06-16

  《人月神話》出版以來,IT行業的科技公司們一直苦苦追尋傳說中以一當十的超級程式設計師,最新的研究表明確實存在這樣一小撮效率奇高的“程式金剛”,但是一位普通程式猿如何能夠蛻變成程式碼金剛呢?

  近日web開發專家Christian Maioli總結了導致程式猿效率低下,程式碼像義大利麵條一樣難以維護的35條惡習(歸為程式碼組織、團隊工作、寫程式碼、測試與維護四大類)。

  程式碼組織

  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.忽略其他非功能性需求。(例如安全和效能,準備一份這方面的清單,忽略這些會毀掉你的所有成果)

相關文章