低級程序員和高級程序員的區別,難道這就是強者的世界嗎?

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

低級程序員和高級程序員的區別,難道這就是強者的世界嗎?

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

低級程序員和高級程序員的區別,難道這就是強者的世界嗎?

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

低級程序員和高級程序員的區別,難道這就是強者的世界嗎?

優秀程序員的行為:

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

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

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

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

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

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

普通程序員的行為:

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

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

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

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

低級程序員和高級程序員的區別,難道這就是強者的世界嗎?

作為一個優秀的程序員,應該做到以下兩點:

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

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

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

2.精通代碼調試(debug)

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

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

我是一名從事多年開發的Java程序員,目前辭職在做自己的線上家教私人訂製指導學習,我在這裡給你準備的一套最新的Java精講教程視頻,從最基礎的JavaSE到Spring框架部分的教程都有,如果你現在正在學Java,需要這樣的一套教程教程,你可以在後臺私信我:Java,即可獲取視頻下載地址。

相關推薦

推薦中...