自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

高效程序員的7個(gè)共同特征

開(kāi)發(fā) 后端 開(kāi)發(fā)工具
導(dǎo)讀:要想成為一個(gè)偉大的程序員,需要的可不僅僅是能夠編寫(xiě)出可以正常運(yùn)行的代碼。Justin James給出了能夠成為業(yè)內(nèi)頂尖高手的程序員應(yīng)該具有的幾個(gè)典型特質(zhì)。

要想成為高效的程序員,你需要具備一定的綜合素質(zhì)才能夠讓你用你所掌握的技能、經(jīng)驗(yàn)和知識(shí)編寫(xiě)出有效的代碼。有一些開(kāi)發(fā)人員在技術(shù)方面具備一定的技巧,但他們永遠(yuǎn)無(wú)法成為高效的程序員,就是因?yàn)樗麄內(nèi)狈λ璧钠渌鼛醉?xiàng)特質(zhì)。本文將給出成為一個(gè)偉大的程序員所必須具備的7項(xiàng)特質(zhì)。

[[72115]] 

 1. 主動(dòng)學(xué)習(xí)新的技術(shù)和非技術(shù)兩方面的知識(shí)

不好的程序員只有在實(shí)在不行的時(shí)候才開(kāi)始進(jìn)行知識(shí)學(xué)習(xí)。良好的程序員會(huì)主動(dòng)學(xué)習(xí)新的技術(shù)知識(shí)。偉大的程序員不僅會(huì)自行學(xué)習(xí)新的技術(shù)知識(shí), 而且還會(huì)學(xué)習(xí)非技術(shù)方面的知識(shí),對(duì)各種知識(shí)來(lái)源都有一種開(kāi)放的心態(tài),而不會(huì)象有的人那樣固步自封。

具體點(diǎn)說(shuō),不好的程序員只有在參加了采用WPF的項(xiàng)目時(shí)才開(kāi)始學(xué)習(xí)XAM;良好的程序員一年前就學(xué)習(xí)了XAM,因?yàn)樗杏X(jué)它很有意思;而偉大的程序員還閱讀了WPF應(yīng)用程序的設(shè)計(jì)指南、可用性(usability)理論或者什么類似的學(xué)習(xí)課程,因而他能夠制作出卓爾不群的UI。

 2. 務(wù)實(shí)而不教條

嚴(yán)格遵守那些不成文的“編程規(guī)則”往往是一種奢侈品,沒(méi)有多少開(kāi)發(fā)人員能夠承受得起。如果你們的規(guī)格說(shuō)明書(shū)不是由頂尖的開(kāi)發(fā)人員編寫(xiě)的,也不是在頂尖的開(kāi)發(fā)人員指導(dǎo)下編寫(xiě)的, 我就可以向你保證,你可能也承受不起。

我經(jīng)常能夠碰到一些程序員,他們無(wú)法或者拒絕做某個(gè)任務(wù)只是因?yàn)橥瓿蛇@個(gè)任務(wù)的做法通常不為最佳實(shí)踐所接受。業(yè)務(wù)需求很少會(huì)受到實(shí)現(xiàn)需求所采用的技術(shù)的制約;沒(méi)有人會(huì)說(shuō),“這我們不應(yīng)該把這個(gè)需求寫(xiě)到規(guī)格說(shuō)明書(shū)里,因?yàn)橐獙?shí)現(xiàn)這個(gè)需求,程序員就不得不寫(xiě)一段很臭的代碼。”

在結(jié)束的那一天,程序員的任務(wù)是要生成一個(gè)有效的應(yīng)用程序,而絕不是要求在技術(shù)方面達(dá)到十全十美。我可不是在為垃圾代碼做辯護(hù)。我想說(shuō)的是,總會(huì)在有些時(shí)候,你會(huì)寫(xiě)出一些代碼,這些代碼你永遠(yuǎn)不會(huì)作為范例向別人展示做事的正確方法。如果只有一種寫(xiě)法,那么這種代碼就不是糟糕的代碼 —— 但要保證你已窮盡了其它所有可能的方案。

 3. 懂得如何通過(guò)研究找到答案

通過(guò)研究找到答案可不僅僅只是在搜索引擎中鍵入幾個(gè)關(guān)鍵字那么簡(jiǎn)單, 也不是到Stack Overflow或者M(jìn)SDN forums這類網(wǎng)站發(fā)個(gè)問(wèn)題帖。我就碰到過(guò)在搜索引擎里根本搜不到答案的問(wèn)題,然后我Stack Overflow 或者M(jìn)SDN forums里發(fā)的所有問(wèn)題貼都沒(méi)有一個(gè)像樣的答案,不過(guò)我還是解決了我所碰到的問(wèn)題使得工作得以繼續(xù)。我不是魔術(shù)師 —— 我只是懂得如何找到答案,如何找出問(wèn)題的根本原因。

有許問(wèn)題都屬于情景式的問(wèn)題,如果你依賴于搜索引擎或者論壇,就會(huì)在各種鏈接中浪費(fèi)大量的實(shí)踐而最終無(wú)法得到真正的答案。要學(xué)習(xí)如何進(jìn)行根本原因分析,學(xué)習(xí)底層系統(tǒng)方面的知識(shí)才能夠找到其它的線索和解決方案,還要學(xué)習(xí)如果在對(duì)問(wèn)題有個(gè)全局性的認(rèn)識(shí)后才對(duì)其進(jìn)行深入分析。

 4. 擁有激情

不喜歡這份工作,就無(wú)法成為這個(gè)行業(yè)中的頂尖高手。倒是也有一些僅僅把編程當(dāng)作一份普通工作的程序員水平也還不錯(cuò),但如果你的三觀就是如此的話,你就不太會(huì)愿意去做能夠?qū)⒛阋虺晒Φ乃惺虑椤_@個(gè)觀點(diǎn)會(huì)使很多家伙不悅,因?yàn)樗麄儠?huì)覺(jué)得這是一種人身侮辱。“我是一個(gè)很好的程序員,但我還有其它重要的事情要做,我不能讓工作成為我人生的全部。” 我完全理解;我也有別的更重要的事情。盡管我也痛恨這么說(shuō),當(dāng)我們對(duì)我的工作熱情高漲之時(shí),我愿意(雖然不是渴望)拋棄我其它更重要的事情來(lái)首先完成手頭的工作。要說(shuō)你不愿意全情投入就無(wú)法成為高手,不算是人身侮辱,這是事實(shí)而已。

你的激情不能僅僅只在編程一個(gè)方面 —— 你必須在你的工作、你所使用的技術(shù)、你的老板、你的項(xiàng)目等等方面都有激情。 我目睹過(guò)一些非常好甚至很偉大的程序員其表現(xiàn)平平,只是因?yàn)橛幸恍l件不太合適。比如,他們不喜歡手頭的項(xiàng)目,或者項(xiàng)目中所用的技術(shù)讓他們討厭。我曾經(jīng)就是一個(gè)這樣的程序員,我也同這樣的程序員一起共過(guò)事。無(wú)論從哪個(gè)角度講,我都不喜歡這樣的程序員。如果你發(fā)現(xiàn)你的情況就是如此,就需要立即解決這個(gè)問(wèn)題,要么挖掘出手頭的工作或項(xiàng)目中有意思的地方從而能讓你調(diào)整心情,要么就不要接著干了。怪不值當(dāng)?shù)摹?/p>

 5. 將自負(fù)留在門外

許多開(kāi)發(fā)人員都非常自負(fù)。僅僅是比有些人聰明、懂得多一點(diǎn)或者經(jīng)驗(yàn)更豐富一點(diǎn),可不是意味著和那些人相比你才是好人。你要尊重別人,真正聽(tīng)取并考慮別人的觀點(diǎn),在需要的時(shí)候向他們求助,而且還不能小瞧別人。 你還應(yīng)該更加關(guān)心團(tuán)隊(duì)的勝敗,而不是僅僅關(guān)心你在工作中的榮譽(yù)得失。

6. 具有企業(yè)家的精神

最優(yōu)秀的開(kāi)發(fā)人員不會(huì)是游手好閑者。對(duì)他們來(lái)講,產(chǎn)品的成功不僅僅意味著他們的薪水有著落了。因?yàn)樗麄冊(cè)诠ぷ髦袩崆轱枬M,他們是為了項(xiàng)目有更好的發(fā)展而工作,而且會(huì)一往無(wú)前。

 7. 測(cè)量?jī)纱?,下刀一次。。。但測(cè)量不要多于三次

開(kāi)發(fā)人員可能會(huì)犯的最糟糕的錯(cuò)誤之一就是還不知道要干什么呢,就一猛子扎到代碼里去了。(當(dāng)他們把這種做法稱作敏捷開(kāi)發(fā)時(shí)情況更為糟糕,好像用敏捷兩字就能讓情況好轉(zhuǎn)似的)。當(dāng)偉大的開(kāi)發(fā)人員跳進(jìn)代碼里去的時(shí)候,那是因?yàn)樾枨笠?guī)格說(shuō)明同他們以前實(shí)現(xiàn)過(guò)的某種做法十分相似。偉大的程序員在面臨新問(wèn)題時(shí),他們會(huì)進(jìn)行思考、計(jì)劃和研究。

開(kāi)發(fā)人員當(dāng)中最最優(yōu)秀的不會(huì)墮入“分析癱瘓者(analysis paralysis)”陷阱。他們懂得要對(duì)某些事情小心謹(jǐn)慎(比如涉及錢或個(gè)人數(shù)據(jù)時(shí)),只有這些特殊領(lǐng)域才適合我所說(shuō)的“要測(cè)量三次”。任何超過(guò)三次的情況發(fā)生就意味著你在浪費(fèi)你的時(shí)間(除非在鮮有的特例中,比如核反應(yīng)堆、宇宙飛船、對(duì)沖基金會(huì)計(jì)系統(tǒng))。

在某個(gè)特定的時(shí)間點(diǎn)就要停止計(jì)劃,開(kāi)始編碼,然后再看看你的計(jì)劃在哪些方面需要進(jìn)行相應(yīng)的調(diào)整,這一點(diǎn)非常重要。順便說(shuō)一下,這就是我為什么成為敏捷方法擁躉的原因之一。我所知道的最優(yōu)秀的開(kāi)發(fā)人員在計(jì)劃不再合適或者發(fā)現(xiàn)計(jì)劃有缺陷時(shí),都會(huì)愿意將計(jì)劃放棄掉。

 一段旅程就這樣結(jié)束了。。。

寫(xiě)這篇文章讓我有點(diǎn)傷心。作為TechRepublic的撰稿人足足七年多了,很不幸現(xiàn)在卻到了暫時(shí)卸下我作為自由撰稿人的身份的時(shí)候了,因?yàn)槲覀兊娜毠ぷ髡娴氖翘α?。就在去年,我不得不終止為10 Things blog和 Patch Tuesday series撰稿,現(xiàn)在由不得不停止Software Engineer blog了。

我愛(ài)我同TechRepublic在一起的每一段時(shí)光。我很高興能夠認(rèn)識(shí)到各位讀者、我的共同撰稿人以及TechRepublic的各位員工。我的編輯,Mary Weilage,一直都是我所寫(xiě)的軟件工程師博客的幕后英雄。正是他才讓我看上去不象是個(gè)傻瓜、呆子,他還在很多場(chǎng)合下幫我糾正了許多語(yǔ)法錯(cuò)誤。

英文原文:Seven traits of effective programmers

譯文連接:http://www.oschina.net/translate/seven-traits-of-effective-programmers

責(zé)任編輯:林師授 來(lái)源: OSCHINA編譯
相關(guān)推薦

2015-08-13 08:56:40

高效程序員共同特征

2014-06-05 09:23:47

程序員高效

2013-07-11 17:18:17

程序員習(xí)慣

2012-05-22 00:16:47

2016-12-19 17:35:58

程序員特質(zhì)

2016-01-18 11:13:10

程序員保持健康

2021-02-05 17:42:44

Java程序員開(kāi)發(fā)工具

2013-06-09 13:24:00

程序員Bug

2019-08-14 17:20:40

程序員人生第一份工作Google

2014-03-31 11:01:39

2015-04-30 10:51:37

程序員高效快樂(lè)

2015-04-30 08:41:04

程序員高效健康

2012-04-11 10:03:00

JavaEclipse

2014-10-24 10:13:19

程序員

2015-08-07 16:59:16

程序員習(xí)慣

2012-07-03 11:18:40

程序員社交網(wǎng)站

2011-06-03 09:58:03

結(jié)對(duì)編程程序員

2020-10-14 11:15:55

Java程序員框架

2021-07-05 07:28:14

程序員菜鳥(niǎo)技術(shù)

2013-08-20 09:33:59

程序員
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)