一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

。..。..

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

糾結(jié)在一起的類(lèi)

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

。..

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

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

超大號(hào)的類(lèi)

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

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

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

代碼的注釋

如果沒(méi)有注釋?zhuān)頉](méi)有任何信息,這是臨時(shí)破碎的代碼嗎?被取代的舊代碼在哪里呢?

。.

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

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

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

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

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

    關(guān)注

    4

    文章

    954

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

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

    如何在 樹(shù)莓派 上編寫(xiě)和運(yùn)行 C 語(yǔ)言程序?

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

    零基礎(chǔ)入門(mén):如何在樹(shù)莓派上編寫(xiě)和運(yùn)行Python程序?

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

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

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

    TMS320C6000程序員指南

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

    TMS320C55x DSP CPU程序員參考補(bǔ)充

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

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

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

    UCD3138A64/UCD3138128程序員手冊(cè)

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

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

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

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

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

    AI編程工具會(huì)不會(huì)搶程序員飯碗

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

    軟通動(dòng)力子公司鴻湖萬(wàn)聯(lián)助陣?guó)櫭?024程序員節(jié)成功舉辦

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

    第五屆長(zhǎng)沙·中國(guó)1024程序員節(jié)開(kāi)幕

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

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

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

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

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