99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

。..。..

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

糾結(jié)在一起的類

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

。..

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

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

超大號的類

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

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

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

代碼的注釋

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

。.

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

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

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

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

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

    關(guān)注

    4

    文章

    954

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

    如何在 樹莓派 上編寫和運行 C 語言程序?

    ,一本很好的書是BrianKernighan和DennisRitchie所著的《TheCProgrammingLanguage》。這本書對經(jīng)驗豐富的程序員和想學(xué)習C語
    的頭像 發(fā)表于 03-25 09:28 ?572次閱讀
    如何在 樹莓派 上編寫和運行 C 語言<b class='flag-5'>程序</b>?

    零基礎(chǔ)入門:如何在樹莓派上編寫和運行Python程序?

    是一種非常有用的編程語言,其語法易于閱讀,允許程序員使用比匯編、C或Java等語言更少的代碼行。Python編程語言最初實際上是作為Linux的腳本語言而開發(fā)的。Py
    的頭像 發(fā)表于 03-25 09:27 ?761次閱讀
    零基礎(chǔ)入門:如何在樹莓派上編寫和運行Python<b class='flag-5'>程序</b>?

    阿里云升級通義靈碼AI程序員,全面上線

    近日,阿里云宣布其備受矚目的通義靈碼AI程序員已正式全面上線,為開發(fā)者帶來更為強大和便捷的編程輔助工具。 此次上線的通義靈碼AI程序員,在功能上實現(xiàn)了全面升級。現(xiàn)在,它支持VS Code
    的頭像 發(fā)表于 01-09 11:16 ?718次閱讀

    TMS320C6000程序員指南

    電子發(fā)燒友網(wǎng)站提供《TMS320C6000程序員指南.pdf》資料免費下載
    發(fā)表于 12-24 17:19 ?0次下載
    TMS320C6000<b class='flag-5'>程序員</b>指南

    TMS320C55x DSP CPU程序員參考補充

    電子發(fā)燒友網(wǎng)站提供《TMS320C55x DSP CPU程序員參考補充.pdf》資料免費下載
    發(fā)表于 12-21 11:36 ?3次下載
    TMS320C55x DSP CPU<b class='flag-5'>程序員</b>參考補充

    學(xué)習硬件的第一節(jié)課:學(xué)習讀懂原理圖

    學(xué)習硬件的第一節(jié)課:學(xué)習讀懂原理圖 讀懂原理圖對嵌入式軟件工程師和程序員尤為重要。在深入細節(jié)之前請注意,對所有的嵌入式設(shè)計人員來說、能懂得硬件工程師創(chuàng)建和使用的來描述其硬件設(shè)計的原理圖和符號是非
    的頭像 發(fā)表于 12-16 16:04 ?2420次閱讀
    <b class='flag-5'>學(xué)習</b>硬件的第一節(jié)課:<b class='flag-5'>學(xué)習</b>讀懂原理圖

    UCD3138A64/UCD3138128程序員手冊

    電子發(fā)燒友網(wǎng)站提供《UCD3138A64/UCD3138128程序員手冊.pdf》資料免費下載
    發(fā)表于 12-09 14:42 ?0次下載
    UCD3138A64/UCD3138128<b class='flag-5'>程序員</b>手冊

    機械革命發(fā)布CODE AI程序員

    近日,英特爾新質(zhì)生產(chǎn)力技術(shù)生態(tài)大會在成都舉行,機械革命作為重要參展商帶來了多款明星產(chǎn)品引爆全場!其中更是在AI PC軟件生態(tài)產(chǎn)品發(fā)布分論壇上,Intel、智譜、機械革命三方聯(lián)合發(fā)布了專為程序員設(shè)計的CODE AI程序員本,成為本次大會的一大亮點。
    的頭像 發(fā)表于 11-30 10:34 ?1110次閱讀

    Linux驅(qū)動程序程序員指南

    電子發(fā)燒友網(wǎng)站提供《Linux驅(qū)動程序程序員指南.pdf》資料免費下載
    發(fā)表于 11-22 15:53 ?0次下載
    Linux驅(qū)動<b class='flag-5'>程序</b><b class='flag-5'>程序員</b>指南

    AI編程工具會不會搶程序員飯碗

    AI編程工具可輔助編程,減少手動編碼,提升效率,對程序員有積極影響也有挑戰(zhàn)。程序員需深化技能、拓寬知識應(yīng)對。長遠看,AI與人類程序員將共生共榮。
    的頭像 發(fā)表于 11-08 10:17 ?535次閱讀

    軟通動力子公司鴻湖萬聯(lián)助陣鴻蒙1024程序員節(jié)成功舉辦

    10月24日,在武漢、成都、深圳等地政府指導(dǎo)下,鴻蒙生態(tài)服務(wù)公司舉辦了一場面向廣大開發(fā)者的盛會——鴻蒙1024程序員節(jié)暨鴻蒙原生應(yīng)用交流會。軟通動力子公司鴻湖萬聯(lián)作為開源鴻蒙生態(tài)的重要參與者和貢獻者
    的頭像 發(fā)表于 10-29 15:49 ?753次閱讀
    軟通動力子公司鴻湖萬聯(lián)助陣鴻蒙1024<b class='flag-5'>程序員</b>節(jié)成功舉辦

    第五屆長沙·中國1024程序員節(jié)開幕

    據(jù)官方媒體報道,10月24日;? 第五屆長沙·中國1024程序員節(jié)在湖南湘江新區(qū)開幕;本次中國1024程序員節(jié)以“智能應(yīng)用新生態(tài)”為主題。設(shè)置有岳麓對話、技術(shù)英雄會、主題峰會及賽事、展覽等活動,一場
    的頭像 發(fā)表于 10-25 15:42 ?499次閱讀

    90后程序員的職業(yè)成長漫談

    開始,逐步了解公司的業(yè)務(wù)、文化,以及學(xué)習如何成為一名合格的職場人;19-21年,我開始負責一塊完整的業(yè)務(wù),并逐漸成長為小組負責人; 2022年開始負責整個部門的架構(gòu),并且開始參與一些公司核心項目的設(shè)計與落地。 這一路走來經(jīng)歷的挫折與收獲
    的頭像 發(fā)表于 10-15 15:24 ?552次閱讀
    90后<b class='flag-5'>程序員</b>的職業(yè)成長漫談

    AI入門之深度學(xué)習:基本概念篇

    1、什么是深度學(xué)習 1.1、機器學(xué)習 ?? ? 圖1:計算機有效工作的常用方法:程序員編寫規(guī)則(程序),計算機遵循這些規(guī)則將輸入數(shù)據(jù)轉(zhuǎn)換為適當?shù)拇鸢?。這一方法被稱為符號主義人工智能,適
    的頭像 發(fā)表于 08-08 11:24 ?2433次閱讀
    AI入門之深度<b class='flag-5'>學(xué)習</b>:基本概念篇