如何做到百里挑一的軟件工程師?通州北大青鳥校區(qū)繼續(xù)為你分析:
相關(guān)閱讀:優(yōu)秀軟件工程師的特質(zhì)(1-5)
6. 善用現(xiàn)有代碼
從發(fā)明新語(yǔ)言到從寫函數(shù)庫(kù),忽視并重寫那些已經(jīng)存在并已能工作的奇怪驅(qū)動(dòng)力,已經(jīng)造成大量軟件開發(fā)的失敗案例。一位明星工程師會(huì)專注三種基本類型的重用:第一,內(nèi)部基礎(chǔ)架構(gòu)的重用,相應(yīng)代碼是他自己或同事編寫的;第二,使用第三方的函數(shù)庫(kù),比如JDK。最后,研究使用某些大型網(wǎng)絡(luò)服務(wù)商提供的相應(yīng)服務(wù),比如Amazon。總之,正確善用現(xiàn)有的代碼,使得軟件工程師能真正專注于最為重要的事情上——應(yīng)用程序本身。
7. 專注可用性
優(yōu)秀的工程師通常都專注于用戶。無(wú)論用戶是企業(yè)還是個(gè)人,無(wú)論是為消費(fèi)型的軟件公司還是投資銀行,需要關(guān)注的都是可用性。用戶如何和系統(tǒng)交互?系統(tǒng)是否提供一種簡(jiǎn)單、直接和平穩(wěn)的操作體驗(yàn)??jī)?yōu)秀工程師努力工作是為了什么?不正是讓系統(tǒng)簡(jiǎn)單并易于使用。他們無(wú)時(shí)無(wú)刻都會(huì)想到用戶,不會(huì)嘗試去發(fā)明那些令人費(fèi)解,只有極客才能理解并欣賞的東西。記住,軟件是供他人使用,不是做給自己看的“藝術(shù)品”。所以,在軟件開發(fā)過程中,一直要把“用戶”放在心中。
8. 編寫可維護(hù)的代碼
北京北大青校區(qū)認(rèn)為,軟件工程師的另外一個(gè)小秘訣是:編寫優(yōu)秀代碼和糟糕代碼所花費(fèi)的時(shí)間是一樣多。一位訓(xùn)練有素的工程師,會(huì)從第一行代碼開始就考慮可維護(hù)性和代碼的演化。沒有任何理由編寫“丑陋”的代碼、長(zhǎng)達(dá)數(shù)頁(yè)的函數(shù),或是稀奇古怪的變量名。
優(yōu)秀的工程師編寫代碼會(huì)遵循命名慣例,代碼編寫緊湊、簡(jiǎn)單和不過度炫耀聰明。代碼的每一行,都應(yīng)恰如其分地展現(xiàn)出其原有目的。在給不便理解的代碼(塊)合理注釋時(shí),別忘了命名規(guī)則。清晰明了的函數(shù)名和變量名可以讓代碼不言而明。
9. 能用任何語(yǔ)言編程
優(yōu)秀的軟件工程師活血有自己一門特別鐘愛的編程語(yǔ)言,但從不會(huì)執(zhí)迷于當(dāng)中。如今已有很多優(yōu)秀的編程語(yǔ)言,也就是說,如果你只會(huì)使用其中一門語(yǔ)言,說明你缺乏多樣性。你可以用Java、C#或C++編寫任何現(xiàn)代軟件,可以用PHP、Perl或Ruby編寫任何網(wǎng)站的后臺(tái)。簡(jiǎn)而言之,編程所用語(yǔ)言,遠(yuǎn)遠(yuǎn)沒有語(yǔ)言相應(yīng)的函數(shù)庫(kù)重要。優(yōu)秀的工程師能夠認(rèn)知到這一點(diǎn),并愿意去學(xué)習(xí)新語(yǔ)言、新函數(shù)庫(kù)和構(gòu)建系統(tǒng)的新方法。
10. 知曉基本的計(jì)算機(jī)科學(xué)知識(shí)
最后,優(yōu)秀工程師最重要的特質(zhì)就是:扎實(shí)的基礎(chǔ)。北京北大青校區(qū)認(rèn)為,優(yōu)秀的工程師或許并沒有計(jì)算機(jī)科學(xué)的學(xué)位,但他必須知道基礎(chǔ)——數(shù)據(jù)結(jié)構(gòu)和算法。如果不知道哈希表,或者不知道鏈表和數(shù)組之間的差別,你如何構(gòu)建一款大型的軟件?這些都是每位從事軟件開發(fā)的開發(fā)人員應(yīng)當(dāng)知道的。算法也同樣重要,從二分查找到各種排序,到圖形遍歷,一位明星工程師必須知道并內(nèi)在消化這些基礎(chǔ)東西。因?yàn)檫@些基礎(chǔ)就是你在構(gòu)建任何現(xiàn)代軟件中做抉擇時(shí)的必備品。
以上就是北京北大青鳥校區(qū)為大家總結(jié)的優(yōu)秀軟件工程師特質(zhì)。最后通州北大青鳥校區(qū)還要提醒大家,當(dāng)今世界,軟件技術(shù)日新月異,一名優(yōu)秀的軟件工程師不僅要從書中獲取知識(shí),更要盡可能從其他途徑來(lái)學(xué)習(xí)經(jīng)驗(yàn)和知識(shí)。