1. 程式人生 > >高級程序員和低級程序員的區別

高級程序員和低級程序員的區別

工程 文章 忽略 自己 而不是 公司 .com 事物 mpi

低級程序員認為自己與高級程序員的區別, 主要是高級程序員任何功能都能編碼實現, 編碼速度快, 代碼無 bug. 正如一慣的那樣, 低級程序員之所以低級, 正是因為他們勉強能看到(或者根本看不到)事物的表象而看不到本質. 所以, 低級程序員總結出的一切東西, 你都可以大膽的忽略。

所以, 我們來聽聽高級程序認為自己與低級程序員的區別是什麽. 高級程序員之所以高級, 在於他們認識到代碼 bug 是不可避免的, 有千萬種理由可以導致 bug, 但他們可以在設計和邏輯上保證(追求)滴水不漏, 並用邏輯的百分之百準確性還減少代碼 bug. 沒錯, 嚴謹的邏輯能力是高級程序員區別於低級程序員的最主要原因。

優秀程序員的行為:

拿到任務,就開始仰望星空或天花板上那盞高懸的電燈棒,狀如老僧入定

忽而皺眉,忽而展顏一笑,忽而手舞足蹈,忽而在紙上指指戳戳,忽而口中念念有詞,忽而長籲……感覺有點神經病啊

桌子上擺的是代碼大全、設計模式、敏捷實踐之類的書籍,並且沒有灰塵

chrome或firefox的書簽欄裏分門別類,類別多於10個,8個以上是技術相關的

容不得破窗戶,看見別人的爛代碼就想改過來

隨手就能在白板上畫出軟件的流程圖或者時序圖……

普通程序員的行為:

拿到任務就開始劈裏啪啦敲鍵盤,一天寫了好幾千行代碼

沒事兒就被測試MM叫過去溝通……

都早上10點多了還想著昨晚的球賽,10點半就琢磨中午要吃拉面、扯面、刀削面、牛肉面、旗花面、臊子面、窩窩面還是炒細面……

過了一陣子,看到自己的代碼,感到很驚奇,認為是別人寫的……

1.勇於去研究你不懂的代碼

一般人都不願意去研究自己不曾接觸過的代碼,很多人都沒有嘗試就放棄了。如果你經常去研究你沒有接觸過的代碼,你就會越來越熟悉不同的代碼結構和設計模式。現在人們很容易就接觸到優秀的開源代碼資源,你可以很方便的就下載下來做一些改動或者調試,去研究為什麽代碼可以這麽寫。

除了代碼之外,很多人對於陌生的工作內容也會感到恐懼。每次換工作的時候,你可能都會遇到新公司的工作內容和以前工作的內容不一樣的情況,以至於剛開始的時候工作效率沒有以前那麽高。很多人甚至覺得,他們是不是騙了面試官。

2.精通代碼調試(debug)

很多人在寫代碼的過程中,經常會有的一個問題就是:為什麽我寫出來的代碼不能運行?為什麽運行的結果不是我想要的?

幾乎所有的程序員寫代碼都不是一遍就能寫好的。但是頂尖的程序員非常快的就明白自己代碼的問題可能是什麽。這是一個很重要的能力,但是偏偏學校裏不教,面試的時候考官也不經常提及。

3、程序員是一種職業,而黑客是一種興趣。

4、程序員的工作有很多限制,而黑客可以盡情發揮。

5、程序員都想把自己說得更好,因為他們要推銷自己,而真正的黑客更謙虛,他們知道自己懂得還不夠多。

6、程序員是一種“職責”,需要的是對編程語言的使用,更希望盡快完成工作,而不是探尋為什麽要做這項工作。

黑客是一種“心態”,對技術有著極大的好奇,希望理解核心的工作原理,喜歡創造。嘗試理解如何工作,如何做得更好,如何讓事情做得特別。黑客就像藝術家或哲學家,同時有著科學工程的天賦,有很多“為什麽”和“為什麽不”。

7、程序員和黑客,就如同畫匠和藝術家,工匠和DIYer,教科書的方式和創新的方式。

8、程序員的目標是寫出程序,完成需求,而黑客是要讓程序為自己而用,滿足自身需求。

9、程序員和黑客都在寫代碼,只是黑客把不可能變為了可能。

歡迎關註我的公眾號(同步更新文章)DoNet技術分享平臺

閱讀原文

高級程序員和低級程序員的區別