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

程序員 黑客 設計模式 Chrome 程序員精選俱樂部 2017-06-12

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

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

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

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

類似於武俠小說中的武術一樣,程序員也分內功和招式。招式就是各種編程技巧和編程概念(框架,架構等),通過經驗可以不斷習得。而內功就是數據結構 + 算法了,招式可以決定你幹活的速度,而且絕大多數情況下,不需要深厚的內力(知道加減乘除就行)。而內功可以決定你能解決問題的高度,就是一件事情,難到一定程度,內力不夠的話是解決不了的。

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

優秀程序員的行為:

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

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

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

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

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

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

普通程序員的行為:

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

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

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

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

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

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

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

2.精通代碼調試(debug)

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

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

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

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

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

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

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

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

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

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

另外還有一點可以通過自身的學習來獲取一大進步。

分享給超過5萬的程序員朋友下載,這次我把所有乾貨重新梳理精簡,免費給大家 。

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

究竟有哪些乾貨呢?先給你們一個目錄:

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

獲取方式:

免費獲取資料途徑:共眾平臺 “程序員編程”。(你懂的)

相關推薦

推薦中...