精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

工程師分享的7個編程習慣

dyquk4xk2p3d ? 來源:cnblogs ? 2023-10-16 11:44 ? 次閱讀

我和很多杰出的軟件工程師們一起工作過,他們有的來自FAANG之類的大公司,有的來自正處于創業階段的小公司。

這些工程師中有人自主創業,也有人在大型科技公司領導了數十億美元的項目。在我與他們一起工作的時間里,我注意到他們絕大部分人的一些共通的編程和工作習慣。我想,或許正是這些習慣讓他們成為了行業金字塔中最頂尖的那1%。

成為一名工程師,而不是碼農

工程是為了解決問題而誕生的。

最好的工程師將代碼視為達到目的的手段。

雖然寫代碼是一種樂趣,但沒有目的地寫代碼是沒有意義的。代碼應該用于為用戶設計解決方案。

某種意義上,編程是一種創造性的追求。創造力在約束下茁壯成長。添加要解決的明確問題的“約束”,允許工程師以他們認為合適的方式自由地探索和創建解決方案。

我所知道的最好的工程師都是有產品意識的:首先考慮為人類解決問題。說到這里,就引出了下一點。

為人而不是為機器編寫代碼

“任何傻瓜都可以編寫計算機可以理解的代碼。優秀的程序員編寫人類可以理解的代碼。”

代碼是為人類編寫的,而不僅僅是為計算機編寫的。

代碼是為團隊中的工程師準備的,他們會閱讀、維護并在代碼的基礎上進行構建。

代碼是為用戶準備的,不管是用手機的孩子,還是調用API開發者,或者是你自己。

117ed770-6a69-11ee-939d-92fbcf53809c.png

我認識的最好的工程師總是為所有受眾評估他們代碼的價值。

如果他們沒有打動某個受眾,則該代碼就不會投入生產。

與代碼本身分離

優秀的工程師不依附于代碼本身。

即使他們已經完成了90%,如果改變意味著最終的結果會更好,那么他們不害怕刪除代碼并重新開始。

代碼不是個人的,所以反饋是從容的。

代碼并不完美。沒有人關心完美的代碼。他們關心的是帶來變化的代碼。

教會自己不依附于代碼的最好方法是認識到,在20年內,你的大部分代碼很有可能成為技術債務、被棄用或被重寫。

使用一致的標準

編寫代碼時,請堅持一致的編碼標準和風格。一致性使代碼更容易被未來的你和你的團隊成員閱讀和理解。

一致的風格指南可以讓團隊和代碼庫更容易擴展。這就是為什么Meta和Google這樣的公司能夠快速發布如此多的代碼,而不會隨著時間的推移使代碼庫變得不可讀和不可維護。

11983b70-6a69-11ee-939d-92fbcf53809c.png

我認識的每一個優秀的人都內化了團隊的代碼標準,并盡可能嚴格地遵循它,洞悉它的好處。

寫簡單干凈的代碼

我認識的每一位精英工程師都編寫了一些代碼,這些代碼編寫起來可能很復雜,但最終閱讀和理解起來都很簡單。我能想到的最好的詞就是他們的代碼很美觀。

他們的代碼干凈、有條理、合乎邏輯。在他們的代碼中做出的每個決定都是有意義的,當有些事情沒有意義時,它會在代碼中被很好地記錄下來。

編寫干凈代碼的一個好方法是遵循原則,比如SOLID原則。雖然它們最初是用面向對象編程(OOP)設計的,但它們可以擴展到通用編程:

單一責任:一個類只能有一個責任。

open-closed:軟件對象(類、模塊等)應該開放擴展,但關閉修改,允許可預測、可維護的代碼。

Liskov 替換:子類型必須可替換其基本類型,而不會影響程序的正確性。

接口隔離:代碼不應該依賴于沒有使用全部接口的大型接口。相反,包應該包含并允許更小的、特定的接口被導入。

依賴反轉:高級模塊不應依賴于低級模塊;兩者都應依賴于抽象,從而促進更靈活和解耦的系統設計。

這方面的一個例子是命名。好的命名沒有神奇的值、明確的區別、描述性的函數名稱和可理解的變量。

不要讓意外發生

代碼不應該產生意外。這是通過遵循代碼原則和編寫適當的測試來實現的。

好的代碼是可預測的。

測試強制代碼清晰和可預測性。他們提供信心。良好的自動化測試允許團隊對代碼進行更改,而不必擔心會破壞一些看不見的東西。

11bb88b4-6a69-11ee-939d-92fbcf53809c.png

一些類型的測試包括:

單個組件和獨立功能的單元測試。

用于多個組件之間交互的集成測試。

端到端測試,從用戶的角度評估整個系統的功能

測試應該很簡單。在閱讀失敗的測試時,應該很容易識別出哪里出了問題。

知道什么不應該測試也很重要。

例如,如果端到端測試的工作量超過了程序的實際收益,那么測試將被周全的文檔、監視和向正確的人(例如代碼所有者)發出警報所取代。

測試也不應該測試代碼中的實現細節,比如測試前端代碼中的某些CSS選擇器,而不是使用數據屬性或只是屏幕截圖測試。

經常溝通

偉大的系統不是單獨建立起來的。優秀的工程師會進行設計審查,征求反饋,并繼續對他們的初始設計進行迭代。

每個人都有知識盲區,可以由其他人來填補。新的視角通常可以幫助代碼變得更清晰,或者提供以前可能沒有想到的新方法。

最好的工程師既善于溝通又善于合作——為了更好的最終結果,他們不怕花時間一起工作。

這可以很簡單,比如讓團隊成員快速檢查文檔,或者為重要的拉取請求添加額外的代碼檢查人員。

慢,即是快

我所知道的最好的工程師通過慢編碼快速完成項目。聽起來很奇怪,對吧?

其實,上述所有這些原則和習慣都增加了首次編碼的時間。但它們允許工程師一步一步地推進項目的進展。

通過花時間使用標準、適當地測試、使用原則和經常溝通,從長遠來看,他們可以節省更多的時間。

當我還是一名實習生和初級工程師時,我親身經歷過另一種選擇,我相信很多人也有過這種經歷,那就是向前沖3步,撞到一個障礙物,然后不得不后退5步。

不要盲目循規蹈矩

以上的“規則”和“原則”只是指導方針。并不是所有的東西都能很好地符合指導方針。

有時候,你寫的代碼是一個正方形,不能放進那個圓圈里。沒關系。

11e11b4c-6a69-11ee-939d-92fbcf53809c.png

在這種情況下,請確保記錄代碼以某種方式編寫的原因。

如果你不這樣做,那么有人,比如未來的你,可能會在未來看到當時的代碼時覺得“哇,我當時真笨。為什么不符合我們的標準呢?”

然后,他們會花20個小時重新編碼,以符合標準,只是為了得到和以前相同的結論。聽起來是不是很熟悉?

軟件開發的現實是,并不是所有的代碼都是干凈的或完全遵循規則的。

但是,它可以是一致的、干凈的、可理解的、可測試的和有價值的。

寫在最后

此外,我還注意到:這些工程師的行為模式還包括:

至少在一個領域有深厚的領域知識。我所記錄的每一位工程師如今都是各自領域的頂尖人物,因為他們專注于某一領域,并成為了該領域的專家,無論是前端基礎設施、分布式系統還是簡潔的UI。

經常適當地推銷自己。這些工程師并沒有藏匿于幕后。他們團隊中的每個人以及與他們一起工作的每個人都知道他們的價值和專長。這是通過適當地營銷自己和從事高影響力項目的結合而實現的。

編輯:黃飛

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • API
    API
    +關注

    關注

    2

    文章

    1484

    瀏覽量

    61813
  • 編程
    +關注

    關注

    88

    文章

    3591

    瀏覽量

    93593
  • 代碼
    +關注

    關注

    30

    文章

    4744

    瀏覽量

    68345

原文標題:讓你遙遙領先的7個編程習慣

文章出處:【微信號:良許Linux,微信公眾號:良許Linux】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    電子工程師最關心的10問題

    精通對一電子工程師更重要。7 如何成為電子工程師高手電子工程師的工作就是將一堆器件搭在一起,注入思想(程序),完成這些器件分離時無法完成的
    發表于 05-18 11:49

    LabVIEW軟件工程師招聘

    公司全職招聘LabVIEW軟件工程師,招聘說明如下:1,工作地點:北京海淀區;2,待遇:7K-12K;3,工作經驗1-3年;4,熟悉CPCI總線,熟悉VISA操作,對狀態機和隊列運用熟練;5,有良好的編程
    發表于 09-12 14:20

    【下載】我和LabVIEW:一NI工程師的十年編程經驗

    `簡介:《我和LabVIEW:一NI工程師的十年編程經驗》是作者在學習和使用LabVIEW過程中的經驗總結。書中由淺入深地對LabVIEW最常用的功能和LabVIEW學習過程中常見的問題進行了一一
    發表于 06-13 18:19

    PCB layout工程師的必須具備的7習慣

    ,兼顧性能、工藝、成本等各方面,同時還要注意板子布局的合理整齊。作為一名優秀的PCB layout工程師,好的工作習慣會使你的設計更合理,性能更好,生產更容易。下面羅列了PCB layout工程師
    發表于 04-03 06:00

    plc編程工程師的前景怎么樣

    `  誰來闡述一下plc編程工程師的前景怎么樣?`
    發表于 11-12 16:23

    PCB layout工程師7習慣

    ,兼顧性能、工藝、成本等各方面,同時還要注意板子布局的合理整齊。作為一名優秀的PCB layout工程師,好的工作習慣會使你的設計更合理,性能更好,生產更容易。下面羅列了PCB layout工程師
    發表于 01-29 07:43

    PCB工程師的應該具備的好習慣

    ,兼顧性能、工藝、成本等各方面,同時還要注意板子布局的合理整齊。作為一名優秀的PCB layout工程師,好的工作習慣會使你的設計更合理,性能更好,生產更容易。下面羅列了PCB layout工程師
    發表于 06-17 15:20

    !!!!!!!高薪誠高級FPGA工程師,Base廣東佛山

    高級FPGA工程師:1人(待遇:15k-30K/月)崗位要求:1、本科及以上學歷,電子/通信/計算機等相關專業;2、本科5年以上,研究生3年以上相關工作經驗;3、具備較扎實的數字電路基礎;4、具備
    發表于 10-22 10:33

    電子工程師結合創造性與習慣

    電子工程師結合創造性與習慣 人們可能會對電子產品的開發與設計方法堅持某種不變的觀念,甚至對解決不同問題所采用的器件這樣的小事都有某種思維定勢,這是可
    發表于 12-16 09:19 ?2028次閱讀

    我和LabVIEW 一NI工程師的十年編程經驗(PDF及實例程

    《我和LabVIEW:一NI工程師的十年編程經驗》是作者在學習和使用LabVIEW過程中的經驗總結。書中由淺入深地對LabVIEW最常用的功能和LabVIEW學習過程中常見的問題進行了一一
    發表于 05-06 11:47 ?0次下載

    匯總PCB layout工程師7習慣 你有沒有學會?

    ,兼顧性能、工藝、成本等各方面,同時還要注意板子布局的合理整齊。作為一名優秀的PCB layout工程師,好的工作習慣會使你的設計更合理,性能更好,生產更容易。下面羅列了PCB layout工程師
    的頭像 發表于 04-06 16:44 ?4458次閱讀

    PCB layout工程師7習慣

    作為一名優秀的PCB layout工程師,好的工作習慣會使你的設計更合理,性能更好,生產更容易。本文羅列了PCB layout工程師7
    的頭像 發表于 02-16 15:46 ?2871次閱讀

    PCB layout工程師7習慣,來看看你都占了幾個吧!

    作為一名優秀的PCB layout工程師,好的工作習慣會使你的設計更合理,性能更好,生產更容易。本文羅列了PCB layout工程師7
    發表于 01-22 06:43 ?6次下載
    PCB layout<b class='flag-5'>工程師</b>的<b class='flag-5'>7</b><b class='flag-5'>個</b>好<b class='flag-5'>習慣</b>,來看看你都占了幾個吧!

    我和LabVIEW:一NI工程師的十年編程經驗.pdf

    我和LabVIEW:一NI工程師的十年編程經驗.pdf
    發表于 12-14 09:20 ?0次下載