這15個好習慣,讓您成為一名成功的程序員!
譯文【51CTO.com快譯】真正優秀的程序員自身都擁有其他人不具備的好習慣,那么一個優秀的程序員該具備哪些好習慣呢?今天為大家整理了15個好習慣 ,如果能堅持下去,能為您今后的工作帶來很大的益處,并且能幫助您成為一位真正優秀的程序員。
1.編寫易于理解的代碼
在編碼時,要使用明確定義的命名規則,具體包括易于理解的表達式變量以及明確定義的對象和庫,同時也要使用正確的縮進和換行符。這將有助于規范代碼格式,并且他人能夠快速讀懂你的代碼,也能為未來交接工作帶來便利。
2. 避免過度使用功能
經驗豐富的程序員通常會將復雜功能添加到并不必要的項目中,來證明自身水平,但這最終往往會給項目帶來負面影響。相反,大家應該專注于項目的核心目標,盡量使用最少的代碼來完成任務,并且只添加有助于實現該目標的功能。
3. 組織與代碼結構的使用
請不要將全部代碼塞進同一文件當中,這會給調試工作帶來巨大障礙。大家應當對代碼進行分組,***是將代碼按照各自功能放置在不同文件內,如此一來,才能幫助修改者快速找到對應的代碼片段。
4.要記錄每日的工作情況
每天工作結束后總結一天的工作,花四五分鐘時間記錄一下一天的工作情況,記在txt文本中,是最方便的,打開快。(這個很有用的,特別是寫周報的時候)
5.學習如何正確調試
有代碼的地方就有bug。大家需要掌握最出色的調試技能,同時運用各類出色的調試工具以更為輕松高效地完成這項任務。
6. 開始編碼前首先進行規劃
一定要想清楚后再寫代碼,如果已經開始動手但卻仍不清楚自己要做什么,那么您會在試驗及錯誤身上浪費大量時間,并很快發現身體被掏空。Adam說,“我有朋友在一個大項目組里工作,他們組里***效的程序員是一個高位截癱用嘴叼著棍子敲代碼的人,他總是在寫代碼之前想得很仔細且很少出錯。”
7. 使用版本控制系統
這類系統能夠幫助大家在遭遇錯誤時進行修改,并且不會影響到全部代碼。在這里為大家推薦Git,它是目前***人氣的版本控制系統,它允許您反復審查同一項目并能隨時能進行修改,然而不會對整體代碼造成影響。
8.經常備份
好的程序員都有經常備份數據的習慣,他們為了保護自己的數據會將數據放在不同的地方,并做好定期(每日,每周,每月)的備份策略。
9.好的代碼注釋
如果在初始編寫代碼時,就做到完整、清晰明了的代碼注釋,對后續工作會有巨大的幫助。不僅提高工作效率,還能增強合作好感。事實上,就算只是自己看自己的代碼,如果有注釋,也能加深印并縮短代碼查找時間。因此,任何開發人員,都應該養成良好的代碼注釋習慣。
10.選擇一款強大的編輯器
即使是經驗最為豐富的程序員也需要良好編輯器的配合。他們喜歡用文本編輯器勝過IDE編輯器,因為這樣可以學到更多東西。無論什么情況,盡量使用鍵盤快捷鍵。在選擇編輯器時,認真考慮并挑選***的(Emacs或Vim),因為它們是通用的。其次,挑選你的***平臺最支持的。
11.了解數據結構和算法
如果你不知道什么時候應該使用快速排序、不懂辨認O(n2)程序、不會寫遞歸函數,你的工作效率將會降低,盡可能去了解底層命令(plumbing),以便能夠作出明智的決定(Web框架是怎么存儲session狀態的?Cookie到底是什么?)。
12.對項目要從一而終
盡管項目收尾階段的工作確實強度極大且較為枯燥,但我仍然建議大家堅持到***并始終抱以理想的工作熱情,而且能夠從一而終的程序員才是一位負責任、有擔當的開發者。
13.別把自己框在單一的開發環境中
優秀的程序員不在意自己使用的到底是什么開發工具,他們選擇不同的開發工具只是為了更好的達到自己的目的,他們會去嘗試不同的開發環境,去發掘更好的利于自己工作的開發環境。
14.不斷學習
技術發展如此之快,需要不斷地學習新技術。你需要跟上時代的步伐。你需要去了解新的程序語言,以及了解正在發展中的程序語言,以及一些編程框架。還需要去閱讀一些業內的新聞,看看網上大牛們分享的各種技術介紹和總結文章和讀讀網上一些不錯的開源代碼。(不光要閉門造車,眼界也很重要)并到一些熱門的社區去參與在線的討論,這樣你才能明白和了解整個軟件開發的趨勢。
15.理性面對不同的操作系統或技術
優秀的程序員明白不同操作系統的優勢、長處和短處,所以他們能夠在選擇系統類型的時候能客觀、公正的進行選擇,能夠理性的分析和理心地面對。
總結
***,必須承認的是,只有能夠滿足客戶甚至吸引客戶的程序員才是好程序員,而技能只是根據不同項目完成客戶需求的手段。通過以上好習慣,相信您將能夠更為順利地在開發行業當中發展壯大,并會令客戶、雇主、更重要的是您自己滿意的出色開發者。
原文標題:10 Habits You Should Adopt to Become a Successful Programmer
原文作者: Darrel Henry
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】