北京北大青鳥校區(qū)總結(jié):優(yōu)秀軟件工程師的特質(zhì)(1-5)

現(xiàn)如今,無論是什么行業(yè)的公司,都愿意把業(yè)務(wù)、工作放到互聯(lián)網(wǎng)上。因此IT人才成為任何一家企業(yè)都不可或缺的崗位,尤其是開發(fā)軟件的人——軟件工程師正顯得越發(fā)重要。但是,你該如何發(fā)現(xiàn)那種百里挑一的程序員呢?通州北大青鳥學(xué)校總結(jié)出優(yōu)秀軟件工程師的特質(zhì),按照這些特質(zhì)去完善自己的工作能力吧!

1. 熱愛編程
2. 完成事情
3. 持續(xù)重構(gòu)代碼
4. 使用設(shè)計(jì)模式
5. 編寫測試
6. 善用現(xiàn)有代碼
7. 專注可用性
8. 編寫可維護(hù)的代碼
9. 能用任何語言編程
10. 知曉基本的計(jì)算機(jī)科學(xué)

1. 熱愛編程
編程是一種為了滿足興趣而心甘情愿去做的勞動。和其他任何職業(yè)一樣,唯有真正的熱情,才能完成真正的偉大事情。這里有個誤解,認(rèn)為編寫代碼是機(jī)械化并純科學(xué)性的。事實(shí)上,最優(yōu)秀的軟件工程師能把能量、獨(dú)創(chuàng)性和創(chuàng)造力融入到每一行代碼中。偉大的工程師知道何時該把代碼雕琢至完美,知道何時把大型系統(tǒng)像拼圖一樣組裝到一塊。熱愛編程的工程師從構(gòu)建軟件中獲得滿足,正是興奮感和成就感,才造就了喜愛編程的明星工程師。

2. 完成事情
有很多技術(shù)人員只談?wù)撥浖痪帉懘a。而偉大軟件工程師會真正去編碼,這也是他們最為重要的品質(zhì)之一。他們是實(shí)際做事的人。聰明人都知道,解決問題的最佳途徑是直面問題,而不是花上數(shù)周來設(shè)計(jì)復(fù)雜又不必要的架構(gòu)和函數(shù)庫。優(yōu)秀工程師應(yīng)當(dāng)會問:解決手頭問題的最簡單方法是什么?最近的軟件開發(fā)方法——敏捷實(shí)踐,正是專注那個。它的思想是,把復(fù)雜的項(xiàng)目拆分為短小的迭代,每個迭代只關(guān)注一小部分的增量功能。因?yàn)槊總迭代對應(yīng)的編碼只需要數(shù)周,所以功能易于管理并簡單。

3. 持續(xù)重構(gòu)代碼
重新塑造代碼的原則稱為“重構(gòu)”,重構(gòu)背后的原始思想是:改善代碼而不改變其功能,移動調(diào)整部分代碼以確保系統(tǒng)不腐,還有確保系統(tǒng)完成基于當(dāng)前需求該完成的事。軟件工程師要通過最佳方式來持續(xù)完善自己的代碼,以達(dá)到目標(biāo)。(北京北大青鳥學(xué)校

幾十年的軟件開發(fā)文化要求我們不應(yīng)該去改變正常工作的東西。然而隨著時間推移,老舊代碼變得不穩(wěn)定和不兼容。而重構(gòu)正好可以改變這一狀況,因?yàn)槲覀兪谴a的主人,不是它的奴隸。重構(gòu)在工程師和代碼之間建立起持續(xù)的“對話”,并帶來所有權(quán)、確定性、自信心和系統(tǒng)的穩(wěn)定性。

4. 使用設(shè)計(jì)模式
在我們所處世界,不管是自然界還是人類行為,模式無處不在。軟件工程自然也不例外。模式就是不斷重現(xiàn)的跨語言跨系統(tǒng)的場景和機(jī)制。一位優(yōu)秀的工程師通常能識別并利用模式,而不是受制于模式。工程師不應(yīng)(強(qiáng)制)讓系統(tǒng)去適應(yīng)某種模式,而需發(fā)現(xiàn)在系統(tǒng)中使用模式的時機(jī)(恰當(dāng)使用模式)。在使用模式來確保正確性時,應(yīng)借鑒利用前人的智慧結(jié)晶,使用以前能正當(dāng)解決特定工程問題的方法。

5. 編寫測試
如果你認(rèn)為軟件工程師不需要測試,那就大錯特錯了。如果你不做測試,怎么能確保代碼就能正常工作?敏捷實(shí)踐中的“單元測試”已獲得普遍認(rèn)可,因?yàn)樗⒅鼐帉憸y試來反映代碼是否有效。隨著系統(tǒng)增大,測試也隨之增大。

有經(jīng)驗(yàn)的工程師知道并了解測試的價值所在,因?yàn)闇y試的目的就是創(chuàng)建一個能正常運(yùn)作的系統(tǒng)。優(yōu)秀的工程師通常會確保出現(xiàn)過一次的Bug不會再出現(xiàn)第二次。但優(yōu)秀的工程師也知道,不應(yīng)該浪費(fèi)時間寫那些瑣碎或多余的測試,而需要專注測試各個組件中的核心部分。(北京北大青鳥學(xué)校,未完)

北大青鳥網(wǎng)上報(bào)名
北大青鳥招生簡章