91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

程序員最應(yīng)該學(xué)習(xí)什么

工程師人生 ? 來源:工程師吳畏 ? 2019-07-26 17:33 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

大多數(shù)人以為他們需要學(xué)習(xí)特定技術(shù)、算法、數(shù)學(xué)或其他形式的具體知識。 但是在Joost看來,這些從來都不是最主要的。 最主要的是他們需要學(xué)習(xí)“ 自律 ”。

過去七年半以來我在Ronimo輔導(dǎo)了很多編程實(shí)習(xí)生,數(shù)百名學(xué)生和畢業(yè)生,在他們身上我看到一樣同樣的東西需要學(xué)習(xí),也許有人認(rèn)為,他們應(yīng)該是需要學(xué)習(xí)特定技術(shù)、算法、數(shù)學(xué)或其他形式的具體知識。 但是在Joost看來,這些從來都不是最主要的。 最主要的是他們需要學(xué)習(xí)“ 自律 ”。有紀(jì)律地編寫清晰代碼,有紀(jì)律地在代碼變得混沌時重構(gòu)它們;有紀(jì)律地刪除未使用的代碼和添加備注。

我在這個主題上花了大部分時間輔導(dǎo)實(shí)習(xí)生,不是解釋先進(jìn)的技術(shù)或我們的引擎的細(xì)節(jié),而是讓他們編寫更好的代碼,我總是詢問有工作經(jīng)驗(yàn)的開發(fā)者,他們認(rèn)為成為優(yōu)秀程序員最重要的是需要什么?他們通?;卮鸫a應(yīng)該清晰,易于理解和維護(hù)。這確實(shí)也是我想聽的,但是年輕的程序員罕有能始終遵循的。

記住自律,不要停息,如果所有變量的名稱都錯了,但是功能完美,那么代碼將超級混亂,從功能代碼中逐步理清雖然在短期內(nèi)可能得不到回報(bào),但這就是邁向自律的第一步,這也是作為實(shí)習(xí)生的好的導(dǎo)師通常非常注意代碼質(zhì)量,從而能迫使實(shí)習(xí)生邁出正確的第一步。

下面是我經(jīng)常看到的一些例子:

假的函數(shù)/變量/類

這些函數(shù) 類和變量實(shí)際做的事情并不是它們名稱的意思所代表的,而是實(shí)現(xiàn)其他功能,它們的名字是假的,名不符實(shí),很明顯,名字應(yīng)該是正確的,但是讓我們驚訝的是很少見完全封閉的名稱。

。..。..

(banq注:緩存失效和命名是計(jì)算機(jī)科學(xué)最難的兩件事)

糾結(jié)在一起的類

我看到另外一個問題是泥團(tuán)一樣黏糊在一起的類,做了很多無關(guān)的事情,無關(guān)的新特性新功能一點(diǎn)點(diǎn)加入,讓簡單的類變得臃腫,塞入各種與該類名無關(guān)的行為,有時一個類的大小超過幾百行代碼。

。..

避免這個問題的辦法應(yīng)該總是想:我在這里添加的功能符合類名本身嗎?如果不是,那么重新命名類的名稱,或者分成兩個獨(dú)立的類。

如果你不能想出一個代碼類的合適名稱,就會發(fā)出壞味道,那類的內(nèi)部就會變得混雜。有時可能一個需要分成兩個部分,才能找到合適的名稱分別代表它們。

超大號的類

隨著時間推移,越來越多代碼添加到一個類,變得非常臃腫,雖然這個類還能工作,但是代碼太長,非常繁瑣,容易發(fā)生很多bug,方向和細(xì)節(jié)混同在一起。

切分一個非常大的類的工作是枯燥的,也是一個挑戰(zhàn),類中代碼高度交織在一起,運(yùn)行中不斷修復(fù)添加新功能,最后結(jié)果是必須有自律才能阻止它變得更大。

一般經(jīng)驗(yàn)是我們盡量保持類代碼低于500行,函數(shù)低于50行,有時雖然不可行,但是我們總能尋找到辦法來重構(gòu)它,切分成更小 更易于管理的代碼塊。

代碼的注釋

如果沒有注釋,代表沒有任何信息,這是臨時破碎的代碼嗎?被取代的舊代碼在哪里呢?

。.

并行邏輯和重復(fù)代碼

舉一個例子,有某個結(jié)構(gòu)特征的名稱暗示我們一些它是什么的信息,比如“TreeBackground.dds”。 為了了解這個特征能被用于一個tree類,我們需要檢查文件名中是否以單詞“Tree”開始。 通過使用 filename.beginsWith(”Tree”)檢查得很快。 這段代碼如此短,但是我們在不同地方需要它,這樣我們就拷貝粘貼它,這就造成了重復(fù)代碼,當(dāng)然每個人知道重復(fù)代碼不好,但是這段代碼真的很短,拷貝粘貼非常容易,我們這里面臨的問題很明顯:也許以后我們會檢查這個結(jié)構(gòu)特征是否適合樹tree的改變,那是我們就需要在每個地方單獨(dú)一個個去解決(因?yàn)檫@段短代碼被復(fù)制到這些地方)

一般經(jīng)驗(yàn)是,這段代碼不應(yīng)該被復(fù)制,應(yīng)該放在一個函數(shù)中,即使它超級短,主要因?yàn)樽鲆粋€函數(shù)再調(diào)用需要許多代碼,而直接復(fù)制粘貼更直接簡單?

本文討論的事情似乎很簡單,它們應(yīng)該是大學(xué)第一年教,但是面臨的挑戰(zhàn)是如何讓他們花時間去遵循,總是記住它們,這就是這為什么是最重要的事情,他們最應(yīng)該學(xué)習(xí)的不是知識,而自律。

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

    關(guān)注

    4

    文章

    956

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    學(xué)習(xí)單片機(jī)快速方法

    那么多錢去養(yǎng)那些優(yōu)化代碼的程序員還不如買一套新的硬件。我現(xiàn)在也是用C語言編程的。 匯編幾乎不用。知道怎么使用開發(fā)軟件之后,你就可以按照學(xué)習(xí)板的教程進(jìn)行編程練習(xí)。練習(xí)要分模塊進(jìn)行,比如流水燈模塊,你
    發(fā)表于 01-14 07:42

    芯盾時代SDP助力企業(yè)應(yīng)對核心機(jī)密泄露危機(jī)

    無論你是程序員、文案、財(cái)務(wù),無論你想擼代碼、出海報(bào)、做報(bào)表,各式各樣的AI總能滿足你的需求,讓你的工作更加輕松。
    的頭像 發(fā)表于 12-26 11:49 ?729次閱讀

    大理的AI野心藏不住了——風(fēng)花雪月中千名程序員探討人工智能

    2025 年12月4日至6日第二屆CCF程序員大會暨大理人工智能與應(yīng)用國際開發(fā)者大會在大理圓滿落幕。
    的頭像 發(fā)表于 12-24 17:45 ?763次閱讀
    大理的AI野心藏不住了——風(fēng)花雪月中千名<b class='flag-5'>程序員</b>探討人工智能

    程序員最常見謊言

    了。 28我已經(jīng)測試過了,這個功能沒問題,可以上線了。 29別擔(dān)心,這個問題很快就能解決。 30代碼快寫完了,已經(jīng)完成 90% 了 。 希望大家對程序員多一些容忍以及諒解! 各位程序員你們都被我說中了哪些?說說你們的觀點(diǎn)
    發(fā)表于 12-10 08:24

    堆和棧的區(qū)別

    程序員分配釋放, 若程序員不釋放,程序結(jié)束時可能由OS回收 。注意它與數(shù)據(jù)結(jié)構(gòu)中的堆是兩回事,分配方式倒是類似于鏈表,呵呵。
    的頭像 發(fā)表于 11-27 18:13 ?1158次閱讀

    軟通國際亮相2025沙中開源與AI科技峰會

    2025年11月11日,由沙特程序員協(xié)會(parmg)主辦的"2025沙中開源與AI科技峰會"在利雅得盛大啟幕。
    的頭像 發(fā)表于 11-14 17:45 ?1527次閱讀

    奔赴熱AI,碼力全開!Talkweb House@1024程序員日系列活動圓滿收官

    1024程序員日”系列活動至此劃上了一個圓滿句號。本屆1024程序員節(jié)以“AI構(gòu)建世界,智能引領(lǐng)未來”為主題,廣邀技術(shù)大咖、產(chǎn)業(yè)領(lǐng)袖、企業(yè)代表與全球開發(fā)者齊聚星城
    的頭像 發(fā)表于 10-27 18:59 ?831次閱讀
    奔赴熱AI,碼力全開!Talkweb House@1024<b class='flag-5'>程序員</b>日系列活動圓滿收官

    開鴻智谷“以賽促學(xué)、以賽選才”|1024程序員節(jié)暨開源鴻蒙構(gòu)建大會圓滿落幕!

    10月24日,由開鴻智谷聯(lián)合主辦的長沙1024程序員節(jié)暨開源鴻蒙構(gòu)建大會在長沙圓滿落幕。本次活動以“湘聚長沙,共赴熱AI”為主題,通過技術(shù)分享與實(shí)戰(zhàn)競賽相結(jié)合的方式,著力培養(yǎng)“開源鴻蒙+AI”領(lǐng)域
    的頭像 發(fā)表于 10-27 17:58 ?753次閱讀
    開鴻智谷“以賽促學(xué)、以賽選才”|1024<b class='flag-5'>程序員</b>節(jié)暨開源鴻蒙構(gòu)建大會圓滿落幕!

    如何在機(jī)器視覺中部署深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)

    人士而言往往難以理解,人們也常常誤以為需要扎實(shí)的編程技能才能真正掌握并合理使用這項(xiàng)技術(shù)。事實(shí)上,這種印象忽視了該技術(shù)為機(jī)器視覺(乃至生產(chǎn)自動化)帶來的潛力,因?yàn)樯疃?b class='flag-5'>學(xué)習(xí)并非只屬于計(jì)算機(jī)科學(xué)家或程序員。 從頭開始:什么
    的頭像 發(fā)表于 09-10 17:38 ?958次閱讀
    如何在機(jī)器視覺中部署深度<b class='flag-5'>學(xué)習(xí)</b>神經(jīng)網(wǎng)絡(luò)

    無法在調(diào)試中連接到PSOC4怎么解決?

    您好,我有一塊使用 PSOC4 CY8C4013SXI-410 制作的小板。非常簡單的設(shè)備,它只有三個 GPIO 引腳并通過 5 引腳 SWD 進(jìn)行編程。我遇到的問題是程序員能夠看到該設(shè)備但無法對其進(jìn)行編程。
    發(fā)表于 07-22 06:02

    跟老齊學(xué)Python:從入門到精通

    礎(chǔ)的學(xué)習(xí)者介紹一門時下比較流行、并且用途比較廣泛的編程語言,所以,本書讀起來不晦澀,并且在其中穿插了很多貌似與Python 編程無關(guān),但與學(xué)習(xí)者未來程序員職業(yè)生涯有關(guān)的內(nèi)容。 獲取完整文檔資料可下載附件哦!?。?! 如果內(nèi)容
    發(fā)表于 06-03 16:10

    程序設(shè)計(jì)與數(shù)據(jù)結(jié)構(gòu)

    的地址)出發(fā),采用推導(dǎo)的方式,深入淺出的分析了廣大C程序員學(xué)習(xí)和開發(fā)中遇到的難點(diǎn)。 2. 從方法論的高度對C語言在數(shù)據(jù)結(jié)構(gòu)和算法方面的應(yīng)用進(jìn)行了深入講解和闡述。 3. 講解了絕大多數(shù)C程序員開發(fā)
    發(fā)表于 05-13 16:45

    CY7C68013A無PID和VID,如何制作PDF?

    我用 CY7C68013A MCU 設(shè)計(jì)了一個 PCB,所以這意味著我不是程序員之類的。 但是我嘗試上傳一些代碼,但沒有 PID 和 VID。 我找到了一些關(guān)于如何制作的 PDF,但那些對我來說很難。 有人可以幫我嗎?
    發(fā)表于 05-13 07:50

    【「零基礎(chǔ)開發(fā)AI Agent」閱讀體驗(yàn)】+ 入門篇學(xué)習(xí)

    10.AI Agent開發(fā)模式走向了零代碼可視化模式(需要我們程序員對此有著觀念上的轉(zhuǎn)變),但是掌握編程技術(shù),有助于AI Agent的開發(fā)進(jìn)階
    發(fā)表于 05-02 09:26

    計(jì)算機(jī)網(wǎng)絡(luò)排錯思路總結(jié)

    明人不說暗話,這篇文章我們來聊一個非常有用,同時也是程序員必備的技能,那就是網(wǎng)絡(luò)排錯思路大總結(jié)。
    的頭像 發(fā)表于 04-01 17:32 ?948次閱讀
    計(jì)算機(jī)網(wǎng)絡(luò)排錯思路總結(jié)