重置不良的編程陋習

保持代碼整潔和高效并不容易,作為一名開發者,可能會有那么幾天,所從事的開發項目會讓人感到沮喪。也可能會有幾天只想復制和粘貼代碼,寫出曾經寫過的最程序化、重復性最強的垃圾代碼,然后下班回家。
要改掉這些壞習慣絕非易事,一旦它們養成了,就必須制定一些策略來觸發大腦中來進行重置。一旦發現了一條討厭的捷徑,或者消極的態度蔓延開來,那么也是時候挑戰它了,重置一下,讓頭腦清醒一下。
不要停下來
一個巨大的項目丟在了你的腿上,開始遍歷所有不同的組件來構建、交互和所需的基礎設施。甚至不知道從哪里開始,先構建這個元素還是那個元素更有意義?
解決這個問題的方法很簡單:沒關系。
只要開始削減項目,它最終就會開始變得有意義。
總會開始看到它的邊界,并會慢慢成型。也會開始明白事情應該和不應該怎么處理。也許甚至會開始編寫一小段代碼,但后來意識到它無法運行并廢棄它。
“只要不停下來,走多慢都無所謂。” —— 孔子
克服這種狀態最重要的是動力,只有你想不想的問題,只有不斷去改變自己的不良習慣,才會取得更大的進步。任何舒適的感覺都會麻痹自己不進則退。
沒有什么是完美的,必須選擇一個地方開始并嘗試它。可能會開始構建部分 API,只是為了了解需要優化的數據庫。可能在項目開發中發現很多工作可以開發一個腳手架。這些都是有意義的,一個程序員的意義在于創造的價值大否。
認真評審PR
我們都去過那里,積壓的代碼評審正直直地盯著我們。處理“你自己的工作”同時還要評審“別人的”的編碼行為?—— 那是你的工作。
如果沒有建設性和有效的代碼評審意見,將無法推動可能更好的代碼。無論認為自己多么令人難以置信,總會有其他人會抓住的東西。即使是一個看似無傷大雅的小評論,也幾乎總是對作者有利。
每一次代碼評審,都努力投入大量的精力來改進代碼庫和整個開發團隊。Reviewer 的代碼變得更好了,作者的代碼也就變得更好,是相互提高。
減少編寫重復代碼
對于這個標準,建議是當項目開發中出現復制代碼的時候,就需要靜下來思考是否可以有更好的方式?當然這需要一個強大的自制力來約束自己,因為復制代碼和編寫高質量可重復利用的代碼,在開發中很容易就步入后者,某種意義上來說復制代碼可以保持高效。
危機感
我是一個對安全感焦慮的人,特別是作為一個開發人員,如果在團隊中過得安逸,會讓自己很焦慮。危機感可以逼迫我們不段去學習,去總結。
避免脾氣暴躁
經常開玩笑說開發跟產品又打架了,大部分情況是脾氣暴躁,不要成為一個脾氣暴躁的程序員。脾氣暴躁的程序員自稱見過一切,知道什么是最佳的方式,包括我自己,要努力避免,因為這對于團隊來說沒有任何意義,還會產生負面影響。
當這種情況發生時,這意味著不開心或者受別的事情干擾了情緒,可能是當前的角色、工作量或一個特別討厭的項目需求,找到它的根源并調整好或者給自己放個假。