A. 一名優秀的JAVA程序員平常一天至少寫多少行代碼
優秀的JAVA程序員平常一天至少寫150行代碼,普通的JAVA程序員,平均一天的有效代碼量大概是50~70行, 注意是有效代碼。
B. 優秀Java程序員都是怎樣寫代碼的
1.編碼之前想一想
用10分鍾,20分鍾甚至30分鍾的時間來想想你需要什麼,想想什麼樣的設計模式適合你將要編碼的東西。你會很慶幸「浪費」了那幾分鍾,當你不得不更改或添加東西到代碼中時你就不將將浪費幾分鍾而是要花費更多的時間。
2.注釋你的代碼
說真的,沒有什麼比兩個月後檢查自己的代碼,卻不記得它用來干什麼更糟糕的了。注釋所有重要的內容,當然那些顯而易見的就免了吧。
3.寫干凈的代碼
錯落有致。使用空格。根據功能模塊化你的代碼。閱讀RobertC.Martin寫的《CleanCode》,非常有幫助。此外,遵循代碼約定/標准(如,尤其如果是共享的代碼。
4.重構
沒有人喜歡用那些超級長的方法。這通常(幾乎總是)意味著你混雜了功能。用更易於管理的方法分離代碼。還能使得代碼更可重用。
5.不要復制粘貼代碼
如果你有兩個或兩個以上相同的代碼塊,那麼你可能做錯了什麼。閱讀第4條。
6.使用有意義的名稱
雖然命名int變數為「elligent」或char為「mander」是很好笑;但是,這樣的名稱並不能說明變數是用來做什麼的。
7.測試代碼
測試,測試,測試,還是測試。測試你的代碼。不要等到已經做完程序之後再來測試,否則當你發現一個巨大的bug,卻不知道它來自於哪裡來的時候,你會追悔莫及。
自動化測試通常都是有價值的。它還有助於節省大量重測試和回歸測試的時間。
C. 目前中國頂級優秀的程序員都有誰
delphij,如果代碼進Linux內核的水平就符合條件,delphij肯定是一個,雖然他寫FreeBSD的,因為我一直覺得FreeBSD代碼比Linux優雅。當然華人里應該不止他一個。不一一列舉了。提到求伯君,怎麼可以沒有CCED的作者朱崇君。不需要多解釋(記得中學時候讀過一本《C語言進階訣竅》,封面一句話讓我著迷,大致意思是:「為什麼有的人學了C語言可以寫出CCED這樣的好程序」。不知道TCPL得日子裡,成功邁出譚爺爺的書就靠它了)。Richard Stallman 我覺得是世界的,跨越國界的,也曾經到過中國,地球人有幾個軟體能不受GNU影響的。求伯君,別說你不知道。回憶坐在386前敲著五筆,用著全匯編寫的WPS(全國都盜版,如果按版權收費,怕財富早就超過微軟了),今天我都還在用WPS,感慨萬千。個人覺得他比,比爾蓋茨牛多了。
D. 很牛逼的程序員敲代碼全靠腦子記么
寫代碼要有一定的英語基礎,水平高的程序員因為寫的代碼多了已經把代碼內化了,所以他們寫代碼隨心所欲。
E. 頂級的程序員是怎麼樣的
頂尖程序員常說:「這個我以前寫過一個模塊,我找找,很快。「簡直是沒有對比就沒有傷害!
有人認為,普通程序員用復雜的代碼解決簡單的問題;而高級程序員能把復雜的問題簡單化並用簡潔的代碼去實現。在w3cschool看來,頂尖程序員和普通程序員至少在以下6個方面大有區別。
1、文檔能力
「文檔是第一生產力」,這一點在程序員的世界是毫無異議的。看看Spring,hibernate,Struts等最流行的開源軟體的文檔就知道,他們tutorial,他們的getstarted,他們的reference文檔寫的多麼的易懂。
如果要獲得更高的報酬,文檔是絕對關鍵的因素。有文檔就有溝通,就有交易。搞技術的容易忽視文檔的力量,也因為寫文檔十分困難,更多程序員選擇舒適區,習慣寫下代碼,但正因為如此,妨礙了不少程序員的進階。
2、解決BUG的效率差別
普通程序員可以利用搜索引擎(網路)尋找答案,經常性找不到好的解決辦法,然後更換技術方案!頂級程序員也利用搜索引擎(Google)尋找答案,一般bug都順利解決(其實跟前期框架選擇等關系非常大)。
3、表達能力
表達能力決定了你所做的技術的影響范圍,決定了你的影響力,決定你的威信,決定了你的報酬。普通程序員和頂尖程序員的表達能力差別非常大,這主要還是取決於他們格局的不同。良好的溝通能力讓你理解產品經理的設計思路,讓你更好的展現自己的特長。
對於累積人脈,當你的閱歷越來越豐富,人脈對你的幫助也越來越明顯。
4、優雅和美觀的抽象能力
普通程序員和頂尖程序員之間的區別在於優雅和美觀的抽象能力。好的系統通常是要做到兩個方面才合格,其一是好用,其二是好看。但是令人遺憾的是,普通程序員僅僅從實現的角度進行堆砌。頂尖程序員往往能夠更進一步,經常會去思考用戶在操作這個功能的時候,到底還會做什麼事情。
所以,頂尖程序員和普通程序員區別就是是否擁有用戶意識,是否敢於直面用戶。好用,好看一直是軟體能夠被普遍採用的前提,因此,我們有必要學會抽象優雅。
5、面對如何開源社區態度
普通程序員幾乎沒有在開源社區混,這也導致經常對新技術發展關注度低。而頂尖程序員則是擁抱開源社區。
6、面對功能點
普通程序員:立馬開始構思自己如何實現腦海里出來一個方案。
頂尖程序員:發現功能點很普通github上面早已經有非常多的解決方案,著手根據業務選擇一個最適合最優的方案
F. 程序員有很厲害,不外傳的代碼嗎
所謂程序員,是指從事程序設計、程序開發、程序維護的基層工作人員。
程序員包括兩大類:
1,程序設計人員。
一個程序,就是一個系統。對於一個規模龐大的程序來說其結構非常復雜,各個部分的功能之間的銜接非常復雜,所以需要預先對整個系統的架構進行設計,程序設計人員的主要工作就是如此。
2,程序編碼人員。
編碼,也就是代碼。……程序是由代碼組成的。相應的,程序代碼是由程序員一段一段編輯而成的。……因此,代碼也就成為程序員業績和能力的代表。
編程序、寫代碼,其核心就是演算法。……掌握一套精密有效的演算法,就能把一段程序編好,使其發揮出最佳功效。
從這個角度說,程序員所掌握的最厲害的工具,不是代碼,而是演算法。……代碼對於程序員來說,只是磚石一類的工具,而演算法才是程序的核心。……一段程序,代碼的生成很簡單,但是其中包含的演算法卻是非常深奧的。……因此,設計出一套演算法,對於程序員來說才是最關鍵的事情。
從這個角度說,程序員最厲害的並不是擁有一段代碼,而是掌握一套演算法。
另外,程序員這份工作其實也有不同的分工。並不是所有的程序員都要敲代碼的。……實際上,程序員工作職責涵蓋面非常廣泛。以下幾方面工作,都屬於程序員的工作職責:
1,負責軟體的設計、開發、測試。
2,與客戶進行溝通,明確客戶需求。
3,項目調研、可行性分析。
4,解決軟體開發和維護過程中的各種問題。
5,對本專業領域范圍內的技術動態進行跟蹤分析。
由此可以看出,程序員並不全都是敲代碼的人,還有很多程序員是負責軟體系統相關工作的人。……當然了,雖然因為分工不同,有些程序員不寫代碼,但是他們肯定是能夠看得懂代碼,並有能力修正其中的問題的。……他們當中的每個人都對於某個具體領域的演算法非常擅長,這就是他們的絕招,是他們實力最強的領域。
G. 程序員寫100萬行代碼,到底是什麼感覺
內心是自豪的,頭發是掉光的。
一般來講程序員寫代碼,寫了幾萬行代碼都已經很不錯了,當然,一些工作時間長的是可以達到這個數量的。
搞開發這個東西雖然是創造的過程,但是實際工作還是比較辛苦的。
吃飯不準時,加班家常事,所以,還是以身體為重。
H. 世界最牛程序員是
Bill Joy, 前任Sun的首席科學家,當年在Berkeley時主持開發了最早版本的BSD。他還是vi和csh的作者。當然,Csh Programming Considered Harmful 是另一個話題樂。據說他想看看自己能不能寫個操作系統,就在三天里寫了個自己的Unix, 也就是BSD的前身。當然是傳說了,但足見他的功力。另一個傳說是,1980年初的時候,DARPA讓BBN在Berkley Unix里加上BBN開發的TCP/IP代碼。但當時還是研究生的B伯伯怒了,拒絕把BBN TCP/IP加入BSD,因為他覺得BBN的TCP/IP寫得不好。於是B伯伯出手了,端的是一箭封喉,很快就寫出了高性能的伯克利版TCP/IP。當時 BBN和DARPA簽了巨額合同開發TCP/IP Stack,誰知他們的代碼還不如一個研究生的好。於是他們開會。只見當時B伯伯穿個T-shirt出現在會議室(當時穿T-shirt不象現在,還是相
當散漫的哈)。只見BBN問:你怎麼寫出來的?而B伯伯答:簡單,你讀協議,然後編程就行了。
最令偶暈倒的是,B伯伯碩士畢業後決定到工業界發展,於是就到了當時只有一間辦公室的Sun, 然後他就把Sparc設計出來樂。。。象這種軟硬通吃的牛人,想不佩服都不行的說。據Bill Joy的同事說,一般開會的時候B伯伯總是拿一堆雜志漫不經心地讀。但往往在關鍵之處,B伯伯發言,直切要害,提出漂亮的構想,讓同事們徹底崩潰。對了,
他還是Java Spec和JINI的主要作者之一。
I. 看很多程序員天天碼代碼,到底在寫什麼啊
寫代碼其實就是使用代碼語言將人們需要的功能實現。