糟糕程序員和優秀程序員的區別?

如果純以編碼能力來看,可分為五類:

1. 拷貝型

拷貝型選手就是傳說中的“代碼拷貝員”了,他們對實現功能幾乎沒有思路,所作的事情就是從網上或是之前其他團隊成員寫的代碼中拷貝出片段,然後放到項目中,如果運行項目出現了期望結果,則表示任務完成。這類人只會改代碼,卻不會寫代碼。他們大多對編程毫無興趣,只是希望以此餬口而已。

2. 新手型

當產品有功能需求時,由於經驗有限,程序員並不完全知道要如何實現這個功能,需要通過學習、尋找資料等方式來解決問題。這種情況下的編碼過程,程序員的主要目標是“完成功能”,那麼很難有多餘的心思去考慮邊界條件、性能、可讀性、可擴展性、編碼規範等問題,因此代碼bug可能較多,穩定性不高,常常會發生開發花費1個月,改bug卻要改上好幾個月的事情。

3. 學習型

這類程序員對所在領域的語言已經比較瞭解,對於一般功能可以有較為清晰的實現思路,給出需求時可以通過自己的思路來實現,並且會一定程度上考慮邊界條件和性能問題。但僅此而已,他們對可讀性和可擴展性考慮很少,也沒有項目級別的考慮,主要是希望通過實現代碼來練手或是學習。

4. 實現型

這類程序員一般有較為豐富的經驗,由於寫得太多,因此不再追求“創造代碼”來進行學習,同時對所在領域可能涉及的很多第三方框架或是工具都比較熟悉,當接受到產品需求時,對功能實現方案已經瞭然於胸,因此他們可以快速的實現需求,並且對邊界、性能都有一定程度的考慮。

糟糕程序員和優秀程序員的區別?

優秀程序員的幾個表現:

1、先進行實驗是他們的本能反應

編譯器和運行環境通常能比人更快地解釋一個問題。一個優秀的程序猿在拿著問題去向別人尋求幫助之前,會自己試試看並判斷方法是否有用,而不是直接找一個高級程序員問“我這麼做有用嗎?”。

2、對待代碼和設計不要情緒化

代碼就像紙巾:它有用你就用,沒用了就扔掉。幾乎我們所有人都認為代碼複用( code-reuse )很重要,儘管確實如此,但是這也不意味著要像養孩子那樣去對待代碼。代碼沒有感覺也不會在乎,它們會像法蘭克斯坦( Frankenstein )怪物那樣攻擊你。代碼只是一堆字節,是一種責任( liability )。

3、對編程有激情

很多程序員幹這一行只是為了掙錢,如果有更好的職業,他們會毫不猶豫的辭掉程序員的工作。而優秀的程序員熱愛編程,喜歡鑽研代碼中的問題,他們感到能指揮電腦來幫助人們和自己解決現實生活中的問題是一種神奇的能力。當遇到問題無法解決時,他們會茶不思、飯不想,無法入睡。

4、君子善假於物

糟糕程序員和優秀程序員的區別?

5、不斷學習

我們生活在一個有趣的時代。隨著軟件開發逐漸遍佈全球各地,你會發現有很多人都可以幹你的工作。所以你需要不斷學習以保持競爭力。否則,你就會落伍,停滯不前,直到有一天,這份工作不再需要你,或外包給一些更廉價的勞動力。

那麼我們能做些什麼?有些僱主很慷慨,會提供培訓以拓寬你的技能。也有的人會說我沒時間或者沒這個資金去接受任何培訓。所以,關鍵是要擺正心態,學習是對自己的負責。

後記:對於大部分轉行的人來說,找機會把自己的基礎知識補齊,邊工作邊補基礎知識,真心很重要。

我們相信人人都可以成為一個IT大神,現在開始,選擇一條陽光大道,助你入門,學習的路上不再迷茫。這裡是北京尚學堂,初學者轉行到IT行業的聚集地。"


分享到:


相關文章: