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

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

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

軟件開發(fā)工程師的18條編程經(jīng)驗

工程師人生 ? 來源:工程師吳畏 ? 2019-07-03 17:02 ? 次閱讀

1. 估算解決問題所需要的時間。不要怕,承認吧!我曾見過一些程序員為了解決一個特殊問題而坐在顯示器前面8小時。為自己定一個時間限制吧,1小時、30分鐘或甚至15分鐘。如果在這期間你不能解決問題,那就去尋求幫助,或到網(wǎng)上找答案,而不是嘗試去做“超級堆碼員”。

2. 編程語言是一種語言,只是一種語言。隨著時光推移,只要你理解了一種語言的原理,你會發(fā)現(xiàn)各種語言之間的相似之處 。你所選擇的語言,你應(yīng)該覺得“舒服”,并且能夠?qū)懗鲇行Вǘ液啙崳┑拇a。最重要的,讓語言去適應(yīng)項目,反之亦然。

3. 不要過于注重程序的“設(shè)計模式”。 有時候,寫一個簡單的算法,要比引入某種模式更容易。在多數(shù)情況下,程序代碼應(yīng)是簡單易懂,甚至清潔工也能看懂。

4. 經(jīng)常備份代碼。在我年輕時,我就有過因硬盤故障而丟了大量代碼的經(jīng)歷,這經(jīng)歷很恐怖的。只要你一次沒有備份,就應(yīng)當(dāng)像有著嚴格的期限,客戶明天就需要。此時就該源碼/版本控制軟件大顯身手了。

5. 承認自己并不是最頂尖的程序員 - 知不足。我常想,我對編程了解已足夠多,但是總有其他人比你優(yōu)秀。正所謂,“一山總比一山高”。所以,向他們看齊吧!

6、學(xué)習(xí)再學(xué)習(xí)。正如第5點所說,我經(jīng)常會在手里拿一本計算機或編程相關(guān)的雜志或書(不信,可以問我的朋友)。誠然,總有很多你不知道的技術(shù),你可以從中學(xué)習(xí)以保持不落后。如果你有一種靈巧的方式來獲取你需要的新技術(shù),那你每天都應(yīng)該堅持學(xué)習(xí)。

7. 永恒的變化。你對待技術(shù)/編程知識,就應(yīng)像你對待股票一樣:多樣化。不要在某一特定技術(shù)上自我感覺良好。如果那種技術(shù)或語言已經(jīng)沒有足夠支持,那你還不如現(xiàn)在就開始更新你的簡歷,并啟動培訓(xùn)新計劃。我能保持前行的主要原則是什么呢?至少了解兩到三種語言,所以,如果某種語言過時了,你在學(xué)習(xí)新技術(shù)的時候還可以依靠另一種語言。

8. 提攜新人。協(xié)助并且培養(yǎng)初級/入門的開發(fā)人員學(xué)習(xí)優(yōu)秀的編程方法和技巧。也許你還不知道,在幫助他們向更高一層前進時,你自己也在向更高一層提升,你會更加自信。

9. 簡化算法。代碼如惡魔,在你完成編碼后,應(yīng)回頭并且優(yōu)化它。從長遠來看,這里或那里一些的改進,會讓后來的支持人員更加輕松。

10. 編寫文檔。無論是Web服務(wù)的API,還是一個簡單的類,你盡量編寫相應(yīng)文檔。我曾經(jīng)引以為豪的代碼注釋,因過度注釋而有人指責(zé)。給三行代碼加一行注釋,只需要你幾秒時間。如果那是一個比較難以理解的技術(shù),千萬別擔(dān)心過多注釋。如果你能很好做好自己的工作,大多數(shù)架構(gòu)師、后備程序員、支持組都會感激你。

11. 測試、測試再測試。我是一名黑盒測試粉絲。當(dāng)你完成編碼后,你“被認可”的時候就開始了。如果你們公司有QA部門,如果你的代碼中有錯誤,那你得到的評論,會比項目經(jīng)理還多。如果你不徹底測試自己的代碼,那恐怕你開發(fā)的就不只是代碼,可能還會聲名狼藉。

12. 慶祝每一次成功。我見過很多程序員在解決編程技術(shù)難題后,會和同伴握手、擊掌或甚至手舞足蹈。每個人在生命中都會碰到“頓悟”。如果一個程序員高興地跑來叫你去看他的非凡代碼,也許你已經(jīng)看過這樣的代碼100遍了,但你也應(yīng)該為了這個家伙而慶祝第101次。(編者注:《慶祝成功的九種方式》。)

13. 經(jīng)常檢查代碼。 在公司,你的代碼要經(jīng)常檢查(包括自查和其他同事檢查)。不要把別人的檢查,看成是對代碼風(fēng)格的苛求。應(yīng)該把它們看作是有建設(shè)性的批評。對個人來說,經(jīng)常檢查你的代碼并且自問,“我怎樣才能寫得更好呢?” 這會加速你的成長,讓你成為一個更優(yōu)秀的程序員。

14. 回顧你的代碼。在看到自己以前的代碼時,通常會有兩種方式:“難以至信,這代碼是我寫的”和“難以至信,這代碼是我寫的”。第一種往往是厭惡的語氣,并在想如何改進它。你也許會驚嘆,舊代碼也能復(fù)活成為一種更好的程序,甚至是一個完整的產(chǎn)品。第二種通常帶著驚奇和成就感。開發(fā)人員應(yīng)該一到兩個自己完成的項目成果,能讓眾人不禁而立并注目而觀的項目。同樣,基于你優(yōu)越的編程能力,你可以把過去的程序或項目拿出來,把它們更新為更加優(yōu)秀的產(chǎn)品或想法。

15. 幽默是不可缺的。在我20年的開發(fā)生涯中,我還沒有碰到哪位程序員是沒有幽默感的。實際上,干我們這行,幽默是一項必備品。

16. 謹防那些無所不知的程序員,不愿分享的程序員,還有經(jīng)驗不足的程序員。當(dāng)你遇到這幾種程序員時,你自己要謙虛。無所不知的程序員,更想當(dāng)一個英雄而不是團隊成員;保守的程序員則是在編寫著他們獨享的代碼;而經(jīng)驗不足的程序員則會每十分鐘就來問你一下,當(dāng)代碼完成后,代碼已經(jīng)是你的,而不是他們。

17. 任何項目都不會那么簡單。朋友、家人和同事曾請求我倉促做一些事情,倉促做一個程序或者網(wǎng)站。對于這樣的事,應(yīng)該從雙方做計劃,才能做出令兩方都會滿意的東西。如果某人起初只是需要一個使用Microsoft Access的、只有有3個頁面的網(wǎng)站,但來就很可能變成一個有15個頁面的網(wǎng)站,并使用SQL Server,有一個論壇,還有一個定制的CMS(內(nèi)容管理系統(tǒng))。

18. 任何時候不要想當(dāng)然。假如你承接一個簡單的項目,你可能會認為某個部分可以輕松完成。千萬別這樣想!除非你有一個類、組件、或者一段已經(jīng)寫好的代碼,并且在現(xiàn)有的項目已經(jīng)測試通過。不要認為這將是很容易的。

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

    關(guān)注

    88

    文章

    3633

    瀏覽量

    93848
  • 開發(fā)工程師
    +關(guān)注

    關(guān)注

    1

    文章

    91

    瀏覽量

    14945
收藏 人收藏

    評論

    相關(guān)推薦

    電子工程師經(jīng)驗分享

    電子工程師在實際工作中積累了豐富的經(jīng)驗,這些經(jīng)驗對于新手工程師和電子專業(yè)的學(xué)生具有重要的參考價值。 一、電路設(shè)計經(jīng)驗 電路設(shè)計核心思想 電路
    的頭像 發(fā)表于 01-14 10:14 ?56次閱讀

    為什么嵌入式驅(qū)動開發(fā)工程師可以拿高薪?

    。 為什么嵌入式驅(qū)動開發(fā)工程師可以拿高薪? 嵌入式驅(qū)動開發(fā)工程師屬于技術(shù)密集型工作,不僅需要深入了解硬件的工作原理,還需掌握各種編程語言
    發(fā)表于 01-07 16:56

    嵌入式工程師常用的開發(fā)工具有哪些?

    仿真器可以模擬復(fù)雜的微控制器和外設(shè),幫助工程師在早期階段進行軟件開發(fā)和調(diào)試。這大大縮短了開發(fā)周期,降低了開發(fā)成本。 總之,嵌入式工程師需要
    發(fā)表于 12-20 15:29

    嵌入式軟件開發(fā)招聘

    本帖最后由 jf_19082533 于 2024-7-26 13:56 編輯 尋求:嵌入式軟件工程師 要求:3年以上開發(fā)經(jīng)驗,音視頻領(lǐng)域應(yīng)用層開發(fā) 地址:北京市昌平區(qū) 郵箱:10
    發(fā)表于 07-26 13:44

    軟件開發(fā)珠璣》+60戒律

    軟件開發(fā)珠璣》+60戒律 感謝電子發(fā)燒友社區(qū)活動提供的讀書機會。 收到這本書后,看了劉總的簽字,終于看懂了上面的字“電子發(fā)燒友社區(qū)活動”后面一個字,實在猜不出來。 本書經(jīng)驗教訓(xùn)60
    發(fā)表于 06-24 19:27

    【《軟件開發(fā)珠璣》閱讀體驗】+ 心得

    ,《軟件開發(fā)珠璣》是一本值得每個軟件開發(fā)者閱讀的書籍。它教會了我們?nèi)绾瘟私庑枨蟆⒃O(shè)計、項目管理,如何與團隊合作以及如何持續(xù)學(xué)習(xí)和進步。在未來的軟件開發(fā)生涯中,我將繼續(xù)秉承書中的理念,努力成為一名項目的
    發(fā)表于 06-23 17:56

    找STM32硬件開發(fā)兼職工程師

    上海做傳感器的公司,找STM32硬件開發(fā)兼職工程師,會硬件開發(fā),嵌入式軟件開發(fā),可項目外包。有意聯(lián)系:15900460170
    發(fā)表于 06-22 19:12

    嵌入式軟件工程師如何提升自己?

    的發(fā)展打下堅實的基礎(chǔ)。 2.掌握專業(yè)技能 除了基礎(chǔ)知識外,嵌入式軟件工程師還需要掌握專業(yè)的技能。這包括熟練掌握嵌入式系統(tǒng)的開發(fā)工具、硬件平臺和軟件開發(fā)流程。建議通過參加培訓(xùn)課程、實習(xí)經(jīng)驗
    發(fā)表于 06-12 11:20

    上位機軟件開發(fā)用什么語言

    上位機軟件開發(fā)是指開發(fā)用于與下位機(如PLC、單片機等)進行通信、控制和數(shù)據(jù)處理的計算機軟件。上位機軟件在工業(yè)自動化、物聯(lián)網(wǎng)、智能家居等領(lǐng)域有著廣泛的應(yīng)用。選擇合適的
    的頭像 發(fā)表于 06-06 10:44 ?2030次閱讀

    共讀《軟件開發(fā)珠璣》

    作為項目經(jīng)理,要處理好五大過程組和十大領(lǐng)域; 作為軟件配置管理,對軟件工程、算法和應(yīng)用開發(fā)還不夠了解,本書介紹的軟件開發(fā)和管理60
    發(fā)表于 05-21 11:28

    名單公布!【書籍評測活動NO.33】做了50年軟件開發(fā),總結(jié)出60經(jīng)驗教訓(xùn),每一都太扎心!

    寫這本書的目的是不讓你們走我“踩坑”的老路、步我的后塵。 一位經(jīng)驗豐富的軟件工程師在讀了本書的教訓(xùn)清單后評論說 :“每一點都太扎心了,有些還不止扎過我一次?!?關(guān)于本書 本書介紹了關(guān)于軟件開發(fā)和管理
    發(fā)表于 05-17 14:36

    嵌入式軟件工程師和硬件工程師的區(qū)別?

    ,并且了解嵌入式系統(tǒng)的工作原理。此外,他們還需要具備良好的邏輯思維能力,能夠快速解決復(fù)雜的軟件問題。嵌入式軟件工程師軟件開發(fā)方面有著豐富的經(jīng)驗,能夠編寫高效穩(wěn)定的嵌入式
    發(fā)表于 05-16 11:00

    嵌入式軟件開發(fā)軟件開發(fā)的區(qū)別

    嵌入式軟件開發(fā)軟件開發(fā)是兩個不同的概念,它們在一些關(guān)鍵方面有著明顯的區(qū)別。嵌入式軟件開發(fā)是指開發(fā)嵌入在硬件設(shè)備中的軟件,而
    的頭像 發(fā)表于 01-22 15:27 ?2354次閱讀