1. 程式人生 > >低階程式設計師和高階程式設計師的區別,難道這就是強者的世界嗎?

低階程式設計師和高階程式設計師的區別,難道這就是強者的世界嗎?

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

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


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

優秀程式設計師的行為:
拿到任務,就開始仰望星空或天花板上那盞高懸的電燈棒,狀如老僧入定

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

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

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

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

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

普通程式設計師的行為:

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

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

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

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


作為一個優秀的程式設計師,應該做到以下兩點:

1.勇於去研究你不懂的程式碼
一般人都不願意去研究自己不曾接觸過的程式碼,很多人都沒有嘗試就放棄了。如果你經常去研究你沒有接觸過的程式碼,你就會越來越熟悉不同的程式碼結構和設計模式。現在人們很容易就接觸到優秀的開原始碼資源,你可以很方便的就下載下來做一些改動或者除錯,去研究為什麼程式碼可以這麼寫。
除了程式碼之外,很多人對於陌生的工作內容也會感到恐懼。每次換工作的時候,你可能都會遇到新公司的工作內容和以前工作的內容不一樣的情況,以至於剛開始的時候工作效率沒有以前那麼高。很多人甚至覺得,他們是不是騙了面試官。

2.精通程式碼除錯(debug)
很多人在寫程式碼的過程中,經常會有的一個問題就是:為什麼我寫出來的程式碼不能執行?為什麼執行的結果不是我想要的?
幾乎所有的程式設計師寫程式碼都不是一遍就能寫好的。但是頂尖的程式設計師非常快的就明白自己程式碼的問題可能是什麼。這是一個很重要的能力,但是偏偏學校裡不教,面試的時候考官也不經常提及。
相信有很多想學習、或者正在學習java的朋友,小編整理了一份java方面的學習資料,有想要學習java的可以加一下我的學習q裙喲,59,789,1510,歡迎愛學習的你們!