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