日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

你與明星軟件開發(fā)工程師只差這10個特質(zhì)

工程師人生 ? 來源:網(wǎng)絡(luò)整理 ? 作者:工程師吳畏 ? 2018-08-13 15:31 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

如今,每家公司都似乎成了科技公司。從軟件創(chuàng)業(yè)公司到投機性投資公司、制藥巨頭和媒體巨頭,它們都越來越多地加入到軟件業(yè)務(wù)行列。

代碼質(zhì)量不僅成為了一個必需品,更成為了一個競爭優(yōu)勢。因為眾多公司圍繞軟件而競爭,開發(fā)軟件的人——軟件工程師正顯得越發(fā)重要。但是,你該如何發(fā)現(xiàn)那種百里挑一的程序員呢?在本文中,我們簡明扼要地列出了明星開發(fā)人員的10種特質(zhì)。

1. 熱愛編程

2. 完成事情

3. 持續(xù)重構(gòu)代碼

4. 使用設(shè)計模式

5. 編寫測試

6. 善用現(xiàn)有代碼

7. 專注可用性

8. 編寫可維護的代碼

9. 能用任何語言編程

10. 知曉基本的計算機科學(xué)

1. 熱愛編程

編程是一種為了滿足興趣而心甘情愿去做的勞動(Programming is a labor of love)。和其他任何職業(yè)一樣,唯有真正的熱情,才能完成真正的偉大事情。這里有個誤解,認為編寫代碼是機械化并純科學(xué)性的。事實上,最優(yōu)秀的軟件工程師是工匠,他們能把能量、獨創(chuàng)性和創(chuàng)造力融入到每一行代碼中。偉大的工程師知道何時該把代碼雕琢至完美,知道何時把大型系統(tǒng)像拼圖一樣組裝到一塊。熱愛編程的工程師從構(gòu)建軟件中獲得滿足,就好比一位作曲家在完成一部交響樂后而欣喜若狂。正是興奮感和成就感,才造就了喜愛編程的明星工程師。

2. 完成事情

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

3. 持續(xù)重構(gòu)代碼

編碼很像雕刻。要像藝術(shù)家一樣不斷完善自己的作品,軟件工程師也要通過可能的最佳方式來持續(xù)完善自己的代碼,以達到目標(biāo)。重新塑造代碼的原則稱為“重構(gòu)”,Martin Fowler在他的創(chuàng)意書中有相應(yīng)描述。重構(gòu)背后的原始思想是:改善代碼而不改變其功能,移動調(diào)整部分代碼以確保系統(tǒng)不腐,還有確保系統(tǒng)完成基于當(dāng)前需求該完成的事。持續(xù)重構(gòu)可以讓開發(fā)人員解決另一個著名的問題——“黑盒遺留代碼”(這個問題基本無人想觸及)。

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

千萬不要成為老舊代碼的奴隸。如果代碼是他人所寫,或許你可以輕易推脫責(zé)任。但大多數(shù)時候,那些代碼是自己所寫,要拿得起放得下,舊代碼該埋時,就把它埋了!

4. 使用設(shè)計模式

自從所謂的“四人幫”(Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides)發(fā)表他們的著作——《設(shè)計模式》后,全世界的軟件工程師一直都在討論模式。在我們所處世界,不管是自然界還是人類行為,模式無處不在。軟件工程自然也不例外。模式就是不斷重現(xiàn)的跨語言跨系統(tǒng)的場景和機制。一位優(yōu)秀的工程師通常能識別并利用模式,而不是受制于模式。工程師不應(yīng)(強制)讓系統(tǒng)去適應(yīng)某種模式,而需發(fā)現(xiàn)在系統(tǒng)中使用模式的時機(恰當(dāng)使用模式)。在使用模式來確保正確性時,應(yīng)借鑒利用前人的智慧結(jié)晶,使用以前能正當(dāng)解決特定工程問題的方法。但請切記:模式不是萬靈藥;不要為了使用設(shè)計模式而使用設(shè)計模式。

5. 編寫測試

曾有段時間,軟件工程師們認為測試不值得他們?nèi)プ觥H欢?,如果你不做測試,你怎么能確保代碼就能正常工作呢?敏捷實踐中的“單元測試”已獲得普遍認可,因為它注重編寫測試來反映代碼是否有效。隨著系統(tǒng)增大,測試也隨之增大。有經(jīng)驗的工程師知道并了解測試的價值所在,因為測試的目的就是創(chuàng)建一個能正常運作的系統(tǒng)。優(yōu)秀的工程師通常會確保出現(xiàn)過一次的Bug不會再出現(xiàn)第二次。但優(yōu)秀的工程師也知道,不應(yīng)該浪費時間寫那些瑣碎或多余的測試,而需要專注測試各個組件中的核心部分。

6. 善用現(xiàn)有代碼

“重新發(fā)明輪子”一直是軟件行業(yè)中的巨大問題之一。從發(fā)明新語言到從寫函數(shù)庫,忽視并重寫那些已經(jīng)存在并已能工作的奇怪驅(qū)動力,已經(jīng)造成大量軟件開發(fā)的失敗案例。一位明星工程師會專注三種基本類型的重用:第一,內(nèi)部基礎(chǔ)架構(gòu)的重用,相應(yīng)代碼是他自己或同事編寫的;第二,使用第三方的函數(shù)庫,比如JDK。最后,研究使用某些大型網(wǎng)絡(luò)服務(wù)商提供的相應(yīng)服務(wù),比如Amazon??傊?,正確善用現(xiàn)有的代碼,使得軟件工程師能真正專注于最為重要的事情上——應(yīng)用程序本身。

7. 專注可用性

優(yōu)秀的工程師通常都專注于用戶。無論用戶是企業(yè)還是個人,無論是為消費型的軟件公司還是投資銀行,需要關(guān)注的都是可用性。用戶如何和系統(tǒng)交互?系統(tǒng)是否提供一種簡單、直接和平穩(wěn)的操作體驗?有種說法,因為軟件工程師是技術(shù)人員,他/她和“用戶如何與系統(tǒng)交互”沒有關(guān)聯(lián),這種說法嚴(yán)重錯誤。優(yōu)秀工程師努力工作是為了什么?不正是讓系統(tǒng)簡單并易于使用。他們無時無刻都會想到用戶,不會嘗試去發(fā)明那些令人費解,只有極客才能理解并欣賞的東西。

有些時候,一些軟件工程師過于投入,反而忘記所編寫的程序/軟件,是供他人使用,不是做給自己看的“藝術(shù)品”。所以,在軟件開發(fā)過程中,一直要把“用戶”放在心中。

8. 編寫可維護的代碼

軟件開發(fā)界的另外一個小秘密是:編寫優(yōu)秀代碼和糟糕代碼所花費的時間是一樣多。一位訓(xùn)練有素的工程師,他/她會從第一行代碼開始就考慮可維護性和代碼的演化。沒有任何理由編寫“丑陋”的代碼、長達數(shù)頁的函數(shù),或是稀奇古怪的變量名。優(yōu)秀的工程師編寫代碼會遵循命名慣例,代碼編寫緊湊、簡單和不過度炫耀聰明。代碼的每一行,都應(yīng)恰如其分地展現(xiàn)出其原有目的。在給不便理解的代碼(塊)合理注釋時,別忘了命名規(guī)則。清晰明了的函數(shù)名和變量名可以讓代碼不言而明。

在編碼時,有些程序員會有這種心態(tài):過一會兒再來修改或完善某部分代碼或某條語句。但誰知這一“過一會”竟然是“一天”、“一周”、“一個月”或“一年”,甚至以后根本就沒機會再回頭修改。所以,盡量別妥協(xié)寫出暫時堪用的代碼。否則,不僅不會節(jié)省開發(fā)時間,也可以阻礙整個進程。當(dāng)然也不利于后續(xù)維護人員的工作。

9. 能用任何語言編程

優(yōu)秀的軟件工程師或許有自己一門特別鐘愛的編程語言,但從不會執(zhí)迷于當(dāng)中。如今已有很多優(yōu)秀的編程語言,也就是說,如果你只會使用其中一門語言,說明你缺乏多樣性。你可以用JavaC#C++編寫任何現(xiàn)代軟件,可以用PHP、Perl或Ruby編寫任何網(wǎng)站的后臺。簡而言之,編程所用語言,遠遠沒有語言相應(yīng)的函數(shù)庫重要。優(yōu)秀的工程師能夠認知到這一點,并愿意去學(xué)習(xí)新語言、新函數(shù)庫和構(gòu)建系統(tǒng)的新方法。

10. 知曉基本的計算機科學(xué)知識

最后,但肯定不是優(yōu)秀工程師最不重要的特質(zhì)就是:扎實的基礎(chǔ)。優(yōu)秀的工程師或許并沒有計算機科學(xué)的學(xué)位,但他/她必須知道基礎(chǔ)——數(shù)據(jù)結(jié)構(gòu)和算法。如果不知道哈希表,或者不知道鏈表和數(shù)組之間的差別,你如何構(gòu)建一款大型的軟件?。這些都是每位從事軟件開發(fā)的開發(fā)人員應(yīng)當(dāng)知道的。算法也同樣重要,從二分查找到各種排序,到圖形遍歷,一位明星工程師必須知道并內(nèi)在消化這些基礎(chǔ)東西。因為這些基礎(chǔ)就是你在構(gòu)建任何現(xiàn)代軟件中做抉擇時的必備品。

結(jié)束語

以上就是區(qū)分偉大軟件工程師的諸多特質(zhì)。其中討論的“熱情”,是非常重要的。代碼重用、設(shè)計模式、基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)和算法都是必須知道的,而敏捷實踐中的重構(gòu)和單元測試則有助于工程師應(yīng)對復(fù)雜的軟件。尤為重要的是,明星工程師相信簡潔和常識。也正是這些信念,幫助他們成功構(gòu)建當(dāng)今世界所需的看似不可能又錯綜復(fù)雜的系統(tǒng)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 開發(fā)工程師
    +關(guān)注

    關(guān)注

    1

    文章

    91

    瀏覽量

    15388
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    知道電子工程師,到底分幾種嗎?

    第一種,硬件工程師:他們擅長畫原理圖、選元器件、調(diào)板子,是電路的專家、產(chǎn)品項目的“總導(dǎo)演”!第二種,軟件工程師:腦子里全是代碼,天天跟驅(qū)動、算法打交道,芯片怎么跑,他們說了算。第三種,固件工程師
    的頭像 發(fā)表于 04-20 08:52 ?120次閱讀
    <b class='flag-5'>你</b>知道電子<b class='flag-5'>工程師</b>,到底分幾種嗎?

    電子工程師的雙標(biāo)瞬間 #電子 #電子愛好者 #電子工程師 #揚興科技 #雙標(biāo)

    電子工程師
    揚興科技
    發(fā)布于 :2026年03月02日 18:04:13

    電子工程師看書的四階段 #電子 #硬件工程師 #電子愛好者 #反轉(zhuǎn) #揚興科技

    硬件工程師
    揚興科技
    發(fā)布于 :2026年01月17日 17:29:53

    什么是BSP工程師

    任何軟件的。BSP工程師需要結(jié)合硬件原理圖修改從芯片廠商拿到的參考代碼,調(diào)試板子,使板子上的操作系統(tǒng)能夠正常穩(wěn)定工作,從而提供一穩(wěn)定的開發(fā)調(diào)試環(huán)境,這個過程叫做點亮板子,行話叫做Br
    發(fā)表于 01-13 06:54

    嵌入式軟件開發(fā)10 技巧分享

    :流程圖第一,實現(xiàn)第二 當(dāng)工程師首次邁入軟件開發(fā)領(lǐng)域時,會有一種強烈的誘惑力促使他們立刻投入工作并開始寫代碼。這種做法就好比在電路邏輯圖還未完成前就試圖設(shè)計印刷電路板(PCB)。在著手開發(fā)軟件時,抑制
    發(fā)表于 12-25 06:04

    工程師變身AI“指揮者”,吉利與阿里云的軟件開發(fā)變革實驗

    的生產(chǎn)力提升。 50年后,汽車行業(yè)正在經(jīng)歷軟件工程史上最大規(guī)模的挑戰(zhàn)之一。 吉利汽車數(shù)智中心AI產(chǎn)品專家阮航透露了一組數(shù)字:過去幾年,吉利內(nèi)部軟件開發(fā)人員占比從不到10%躍升至40%。當(dāng)一輛智能汽車的代碼量突破億行,當(dāng)座艙、智駕
    的頭像 發(fā)表于 11-13 10:43 ?571次閱讀
    <b class='flag-5'>工程師</b>變身AI“指揮者”,吉利與阿里云的<b class='flag-5'>軟件開發(fā)</b>變革實驗

    2025北京軟件開發(fā)公司推薦匯總:盤點10家優(yōu)秀軟件定制開發(fā)公司

    2025北京軟件開發(fā)公司推薦匯總:盤點10家優(yōu)秀軟件定制開發(fā)公司
    的頭像 發(fā)表于 09-30 09:16 ?2982次閱讀
    2025北京<b class='flag-5'>軟件開發(fā)</b>公司推薦匯總:盤點<b class='flag-5'>10</b>家優(yōu)秀<b class='flag-5'>軟件</b>定制<b class='flag-5'>開發(fā)</b>公司

    招鑲?cè)胧?b class='flag-5'>工程師1,硬件工程師,

    東莞市研生科技有限公司是一家藍牙方案公司,主營藍牙方案的設(shè)計開發(fā),產(chǎn)品包括藍牙BLE/4G透傳/AI智能體方案開發(fā),因公司發(fā)展需要需對外招聘嵌入式軟件開發(fā)工程師,對藍牙音頻/BLE以及
    發(fā)表于 08-29 02:14
    保德县| 茶陵县| 河北省| 新建县| 河北区| 胶南市| 丰台区| 安新县| 八宿县| 贺兰县| 泌阳县| 塔城市| 湘阴县| 疏附县| 准格尔旗| 永州市| 广西| 静乐县| 新源县| 佛坪县| 永和县| 仁怀市| 武冈市| 临清市| 兴化市| 城步| 沽源县| 文昌市| 调兵山市| 大丰市| 浪卡子县| 高青县| 甘德县| 铜川市| 滕州市| 东乡县| 右玉县| 明光市| 阜平县| 平定县| 普定县|