程序員的自我修養(二)

有的人說愛乾淨浪費時間,所以不修邊幅,但歸根結底這還是習慣問題,當養成清潔衛生的習慣並使之成爲生活慣性時,往往就不會耗費更多的時間,反而顯得乾淨幹練。寫程序同樣如是,有一些編程習慣,看似不足爲道,看似浪費時間,可是如果堅持下去,最終都能收到意想不到的奇效。下面列舉一些特別重要的習慣。
1)快捷鍵的使用
無論是使用Windows、Linux操作系統,還是在IDE中,快捷鍵都是系統本身的標配,事實上,Ctrl+C、V這樣的操作,大部分人都能嚐到在節省時間上的甜頭,把這個概念進一步擴散,如果在IDE中編寫代碼,除了代碼本身,將其餘所有的鼠標操作、鍵盤定位操作,都用快捷鍵來代替的話,在時間上將會有數量級的節省,然而看上去這麼好的事情,真正堅持去執行並形成習慣的人屈指可數,因此,在初期的改變習慣,記住快捷鍵,會是一個長期的過程,需要不斷的堅持。
2)代碼註釋
一個開發人員隨着年齡和經驗的增長,所參與的項目,再也不是靠一個人或者幾個人就能完成的。系統的重構、代碼的重構、工作的交接、對新進人員的培訓等等類似的事情,會越來越多的遇到,這些事情無一例外都會把已經寫過的代碼重新或者重複閱讀,如果在初始編寫代碼時,就做到完整、清晰明瞭的代碼註釋,對後續工作會有巨大的幫助。不僅提高工作效率,還能增強合作好感。事實上,就算只是自己看自己的代碼,如果有註釋,也能加深印象,縮短代碼查找時間。因此,任何開發人員,都應該養成良好的代碼註釋習慣。
優秀的代碼註釋應該能做到:
3)命名規則
具備一定規模的軟件公司,在代碼編寫上都有一套自己的命名規則,涵蓋項目、模塊、函數、變量等等,標準化命名的好處不言而喻,然而被動、被迫去遵守命名規則和主動習慣於使用命名規則是完全不一樣的。一個優秀的開發人員,應當發自內心的希望各種代碼命名都是有規則的,易讀的,而不是糾結於命名規則會增加碼字長度。
4)不將就的編程邏輯
所謂不將就的編程邏輯,其對立面就是不講究的編程邏輯,不講究的編程,不僅是一種很壞的編程習慣,也體現了低下的生活品質,很多開發人員,因爲個人習慣、趕工期、客戶要求不高等多種原因,在編程時特別隨意,體現在比如爲了實現某個功能,百度出一段代碼,直接套用,10行的代碼只理解8行,有兩行看不懂也放到程序裏去使用,很多這樣的小細節,就好比在項目中埋下了無數的定時炸彈,不僅有很大概率形成返工,更是爲項目埋下了風險。編程人員,應當有擔當有態度,養成不將就的編程邏輯,不勉強自己,也不輕視程序。
5)數據備份
誤刪、誤操作、電腦斷電、文件遺失等等狀況是每一個開發按人員都可能遇到的問題,如果不希望辛勤的勞作被浪費,不希望偶然的意外影響工作,那做好備份是必不可少的,在較大規模的公司,會有完整的源代碼管理以及信息安全防護,而無論是在大公司工作,還是身處較小公司或者在實現個人代碼價值時,都要做好代碼和文檔的數據備份,備份方式的選擇靈活多樣,有使用在線的CVS、SVN、TFS、Git源代碼管理,也可以手工拷貝文件至雲空間或者本地硬盤,甚至可以在個人電腦上組成RAID磁盤陣列等等,養成週期性、規律性的備份習慣。
6)郵件工作方式
溝通是進步的源泉,如果說開發小組的熱烈討論是性格和激情的體現,那郵件的工作方式也是另一種穩重和高效。無論是公司層面的工作溝通,還是開發小組的問題交流,郵件的作用包括問題正規化描述、工作留檔留痕、工作流程流轉、責任分工明確等等,習慣於將重大問題、重要事項通過郵件的方式與同事、主管等進行溝通,將會非常有助於團隊協作。
以上這些方法,是我這麼多年來的感受和體會,也給了我很大的幫助,希望也能夠幫助到大家,不能說一定可以“提升修養“,但也是”提升修養”的有效方式。
最後還想再說一說堅持的力量
分享一個真實的小故事,公司有兩個開發人員,1個做.NET好多年了,但是很油滑,做事能省就省,抓到可以偷懶的機會就偷懶,讓他學點新知識新方法總是自以爲是覺得自己都會;還有1個毫無.NET基礎,一直做低級語言開發,從15年纔開始學習.NET和Web前端,但是做事很積極,幾乎每天都自己抽空學習,遇到不懂的都琢磨清楚,遇到不會的場景就上網或者找人尋求幫助,項目結束後還反覆思考有什麼地方可以改進。從15年到現在,短短1年,這兩個人的發展已經是天壤之別,工資差距也越來越大,後者已經能夠獨自操盤中小型軟件外包項目,而前者還在混着日子,以後他們各自的發展也完全可以預見。
我想說的是,本篇裏面分享的一些道理和方法,都是通俗易懂的,就和常聽到的例如101%和99%的365次方的故事、1萬小時的道理等等一樣,但真正去認真思考並實踐的屈指可數,也許,堅持纔是程序員最大的修養,和各位共勉!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章