A. 作為一個好的程序員,都需要具備哪些基本的
你好,小U來為您解答這個問題,眾所周知,程序員是從事程序開發、維護的專業人員。
作一個真正合格的程序員,需要具備:
1:團隊精神和協作能力
團隊精神和協作能力是作為一個程序員應具備的最基本的素質。
2:文檔習慣
文檔是一個軟體系統的生命力。作為代碼程序員,必須將30%的工作時間寫用於技術文檔。沒有文檔的程序員勢必會被淘汰。
3:規范化的代碼編寫習慣
知名軟體公司的代碼的變數命名、注釋格式,甚至嵌套中行縮進的長度和函數間的空行數字都有明確規定,良好的編寫習慣,不但有助於代碼的移植和糾錯,也有助於不同技術人員之間的協作。
4:需求理解能力
程序員要能正確理解任務單中描述的需求。
5:模塊化思維能力
作為一個優秀的程序員,其思想不能在局限當前的工作任務裡面,要想想看自己寫的模塊是否可以脫離當前系統存在,通過簡單的封裝在其他系統中或其他模塊中直接使用。
6:測試習慣
測試是軟體工程質量保證的重要環節,但是測試不僅僅是測試工程師的工作,而是每個程序員的一種基本職責。程序員要認識測試不僅是正常的程序調試,而要是要進行有目的有針對性的異常調用測試,這一點要結合需求理解能力。
7:學習和總結的能力
程序員是很容易被淘汰的職業,所以要善於學習總結。
B. 什麼是好程序員
我認為好的程序員應該有以下幾方面的素質: 1、有專研精神,勤學善問、舉一反三。 2、積極向上的態度,有創造性思維。
3、與人積極交流溝通的能力,有團隊精神。 4、謙虛謹慎,戒驕戒燥。
5、寫出的代碼質量高。包括:代碼的穩定、易讀、規范、易維護、專業。
這些都是程序員的修養,這里我想談談"編程修養",也就是上述中的第5點。我覺得,如果我要了解一個作者,我會看他所寫的小說,如果我要了解一個畫家,我會看他所畫的圖畫,如果我要了解一個工人,我會看他所做出來的產品,同樣,如果我要了解一個程序員,我想首先我最想看的就是他的程序代碼,程序代碼可以看出一個程序員的素質和修養,程序就像一個作品,有素質有修養的程序員的作品必然是一圖精美的圖畫,一首美妙的歌曲,一本賞心悅目的小說。
我看過許多程序,沒有注釋,沒有縮進,胡亂命名的變數名,等等,等等,我把這種人統稱為沒有修養的程序,這種程序員,是在做創造性的工作嗎?不,完全就是在搞破壞,他們與其說是在編程,還不如說是在對源程序進行"加密",這種程序員,見一個就應該開除一個,因為他編的程序所創造的價值,遠遠小於需要在上面進行維護的價值。
程序員應該有程序員的修養,那怕再累,再沒時間,也要對自己的程序負責。我寧可要那種動作慢,技術一般,但有良好的寫程序風格的程序員,也不要那種技術強、動作快的"搞破壞"的程序員。有句話叫"字如其人",我想從程序上也能看出一個程序員的優劣。因為,程序是程序員的作品,作品的好壞直截關繫到程序員的聲譽和素質。而"修養"好的程序員一定能做出好的程序和軟體。
有個成語叫"獨具匠心",意思是做什麼都要做得很專業,很用心,如果你要做一個"匠",也就是造詣高深的人,那麼,從一件很簡單的作品上就能看出你有沒有"匠"的特性,我覺得做一個程序員不難,但要做一個"程序匠"就不簡單了。編程序很簡單,但編出有質量的程序就難了。
我在這里不討論過深的技術,我只想在一些容易讓人忽略的東西上說一說,雖然這些東西可能很細微,但如果你不注意這些細微之處的話,那麼他將會極大的影響你的整個軟體質量,以及整個軟體程的實施,所謂"千里之堤,毀於蟻穴"。
"細微之處見真功",真正能體現一個程序的功底恰恰在這些細微之處。
這就是程序員的--編程修養。我總結了在用C/C++語言(主要是C語言)進行程序寫作上的三十二個"修養",通過這些,你可以寫出質量高的程序,同時也會讓看你程序的人漬漬稱道,那些看過你程序的人一定會說:"這個人的編程修養不錯"。
C. 合格的程序員應該具備什麼樣的優秀品質
使用一種特殊的編程語言、編程很牛,單單靠這個並不能說一名程序員/開發者就是優秀程序員/開發者。 快速發展的開發環境使得這個行業比我今天看到的任何一個行業都要發展迅速,這既有積極的一面也有消極的一面:今天的程序員/開發者有很多編程語言、開發工具和開發平台可選,但是建立一個安全、可擴展的環境卻變得難了很多;硬體和軟體正日新月異地變得更加復雜,但現在學習新技術比過去要難太多了。 以下是優秀程序員應當具備的品質:語言和工具(Languages and Tools:) 任何程序員/開發者需要具備的第一個技能就是,能夠用編程語言工作並會使用與之相關的主要開發工具,包括:工具、IDEs, web 框架, messaging APIs。 程序設計方法(Programming Paradigm:) 舉例來說,很好地理解面向對象,這對使用強制式語言(Imperative Language也稱過程式語言)寫出可維護的代碼至關重要。在企業開發中你會遇到各種不同的問題,理解多種程序設計方法並知道何時使用,將使這些問題迎刃而解。 領域專長的知識(Domain Specific Knowledge:) 如果想編寫系統來解決特定領域內的問題,那麼擁有該領域的專長知識將非常重要。 盡管許多這樣的知識是由項目的商業分析員(Business Analyst)來獲悉,但如果開發者也能獲取,那麼跟用戶的交流將會更加容易,而且更能夠理解他們的專業詞彙。 人際關系(People Skills:) 軟體開發中最重要的技能之一就是能夠與其他開發者一起高效工作?同事、質量/商業分析員(Quality/Business Analysts),客戶,用戶,很多很多……如果你能夠很好地處理這些關系,那麼成功的大路也離你不遠矣。 解決問題(Problem Solving:) 有能力解決那些沒有明顯解決方法的問題,這一點在軟體開發中很重要。當把你的應用配置到JBoss或者通過一個測試找到一個棘手bug的時候,理智地編程將成為調試一個類路徑(class path)問題。 溝通能力(Good Communication skills:) 在軟體世界中,人們通常認為好的溝通能力就是流利地說話,事實上這遠不是。這指的是:你能夠多麼有效地與其他人交流。作為一名優秀的開發者,你應當能夠很好地表達你的想法,很好地聽,以及很好地掌控你與他人溝通的過程。 讀書(Read Books:) 讀大量書將了解很多不同的技術,讀書使你對一種技術有了快速、直接的視角。通常你應當選擇知名學者的書,他們推崇實踐和用技術解決問題的多種方法。在這個過程中,你將學到很多並逐漸形成自己的方法。沒准哪天你也就能出書了呢。
D. 一個好的程序員應該做到那些
1.先進行實驗成為本能反應 編譯器和運行環境通常能比人更快地解釋一個問題。一個優秀的程序員在拿著問題去向別人尋求幫助之前,會自己試試看並判斷方法是否有用,而不是直接找一個高級程序員問「我這么做有用嗎?」。
2.對待代碼和設計不情緒化 代碼就像紙巾:它有用你就用,沒用了就扔掉。幾乎我們所有人都認為代碼復用( code-reuse )很重要,盡管確實如此,但是這也不意味著要像養孩子那樣去對待代碼。代碼沒有感覺也不會在乎,它們會像法.
3.對編程有激情 很多程序員干這一行只是為了掙錢,如果有更好的職業,他們會毫不猶豫的辭掉程序員的工作。