在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

分享編程的七宗罪,也許對(duì)你會(huì)有所啟發(fā)

DPVg_AI_era ? 來(lái)源:lq ? 2019-02-20 09:05 ? 次閱讀

代碼千萬(wàn)行,注釋第一行;編程不規(guī)范,同事兩行淚。本文分享了編程的七宗罪,也許對(duì)你會(huì)有所啟發(fā)。

編程江湖中一直盛傳著一個(gè)段子,那就是要問(wèn)程序員最討厭哪 4 件事?那必須是:

寫注釋、寫文檔、別人不寫注釋、別人不寫文檔。

更甚者,在《流浪地球》形成刷屏之勢(shì)之后,仿其而出的 “代碼千萬(wàn)行,注釋第一行;編程不規(guī)范,同事兩行淚” 在技術(shù)圈中開(kāi)始盛傳,由此可見(jiàn)對(duì)于所有的程序員來(lái)說(shuō)這是多么痛苦的事情。

本文作者 —— 全棧開(kāi)發(fā)者 Nitin Sharma 分享了編程的七宗罪,也許對(duì)你會(huì)有所啟發(fā)。

以下為譯文:

還有什么事情比自己動(dòng)手去創(chuàng)造更有趣?看著你發(fā)明的東西慢慢地進(jìn)入生活?我們?nèi)祟悾侨f(wàn)物之主,是造物主。

但是在數(shù)字化時(shí)代,發(fā)明創(chuàng)造的方式發(fā)生了變化。現(xiàn)在,我們都創(chuàng)造數(shù)字化產(chǎn)品。我們建網(wǎng)站、寫軟件來(lái)滿足我們的需求。雖然我們創(chuàng)造不再依賴于我們的創(chuàng)造力,但是我們?nèi)匀豢梢耘c藝術(shù)家其名。

編程的世界非常地寬廣,涉及重多領(lǐng)域,我們有很多選擇。你可以選擇使用函數(shù)式編程,還是使用面向?qū)ο缶幊蹋磕憧梢赃x擇做服務(wù)端還是客戶端?那么,你心中已經(jīng)有抉擇了嗎?下面,有 100 種編程語(yǔ)言,可以用來(lái)實(shí)現(xiàn)你的需求。

語(yǔ)言、框架、庫(kù)都在逐漸增多。你可以通過(guò)多種方式完成相同的代碼功能。雖然這些語(yǔ)言可能差別很大,但是大多數(shù)語(yǔ)言都遵循相同的思想。所以,他們也會(huì)出現(xiàn)相同的問(wèn)題。

以下是編程七宗罪,你可以想辦法避免他們發(fā)生。雖然我不是基督教徒,但是我也喜歡定義七宗罪。

01. 協(xié)作時(shí)不使用版本控制

上帝保佑,我們有版本控制工具。如我所說(shuō),如果我們沒(méi)有像 Git 這種版本管理工具,代碼的世界將變得異常艱難。版本控制讓我們?cè)趨f(xié)作的時(shí)候,修改或移動(dòng)變得非常簡(jiǎn)單。

想像一下,我們坐在電腦前,手動(dòng)檢查并合并文件,為不同的版本保存不同的文件夾。這樣做是非常低效的,并且很不可靠。幸運(yùn)的是,我們有 Git 和其它版本控制工具,來(lái)幫我們完成這個(gè)事情。

我參與過(guò)沒(méi)有版本控制的項(xiàng)目,那簡(jiǎn)直就是一場(chǎng)惡夢(mèng)。

02. 不使用合適的變量命名

我不知道為什么,身邊總有一些人,使用很短 / 隨機(jī)的名稱來(lái)給變量命名。當(dāng)你的項(xiàng)目只有 10-20 行代碼,或者只是代碼片段時(shí),你可以使用這種方式進(jìn)行命名,但是在大項(xiàng)目中,不要這么做。不合適的命名,對(duì)可讀性和效率有致命的影響。

一個(gè)命名的簡(jiǎn)單規(guī)則:你變量的名稱可以自解釋。當(dāng)你看到它們的時(shí)候,就知道他們的用途。但是不要使用太長(zhǎng)的名字來(lái)命名!保持命名簡(jiǎn)短,并具有可讀性。

讓我們來(lái)找一找,你的代碼中用 a , b, c 命名的代碼。

03. 使用過(guò)多的依賴,不經(jīng)思考直接升級(jí)

GitHub 上面有多少個(gè)開(kāi)源項(xiàng)目?已經(jīng)多到我們數(shù)不清了。這些開(kāi)源庫(kù)使開(kāi)發(fā)者的工作變得更加容易,節(jié)約我們的時(shí)間。

但是使用過(guò)多的依賴庫(kù)會(huì)對(duì)整個(gè)項(xiàng)目帶來(lái)風(fēng)險(xiǎn)。依賴庫(kù)越多,就意味著編譯時(shí)間和運(yùn)行時(shí)間的加長(zhǎng)。我們應(yīng)該在我們需要的地方添加對(duì)應(yīng)的依賴庫(kù),而不要為了使用它而使用它。

所以,在升級(jí)之前,我們需要經(jīng)常去檢查依賴庫(kù) / 插件的支持情況。我曾經(jīng)有一次,升級(jí)了 React,而沒(méi)有去檢查它對(duì)其它庫(kù)的影響。到如今,我依然認(rèn)為這是我生命中最嚴(yán)重的錯(cuò)誤之一。

04. 不自解釋的代碼

值得一提的是,沒(méi)有人想閱讀整個(gè)方法 / 文件來(lái)理解它是干什么用的。使用最少的代碼來(lái)實(shí)現(xiàn)功能,但是不要讓別人或者是以后的自己,討厭你自己寫的東西。

我們應(yīng)該一直嘗試去寫自解釋的代碼。我們應(yīng)該讓我們的代碼,在第一次被看到的時(shí)候,就知道它是干什么用的。要完成這樣的代碼,我們需要進(jìn)行正確的代碼重構(gòu),統(tǒng)一的語(yǔ)法,適當(dāng)?shù)淖兞棵Q。必要的時(shí)候,還要給代碼添加注釋。

當(dāng)然,也不要過(guò)多地書(shū)寫注釋,你不需要通過(guò)注釋解釋每一行代碼。最好用 1-2 行注釋,寫清楚重要部分的概述或說(shuō)明。

05. 格式不一致

這個(gè)和第四點(diǎn)非常相近,格式不一致也會(huì)對(duì)可讀性和生產(chǎn)效率帶來(lái)巨大的影響。在項(xiàng)目中,選擇一個(gè)特定的命名規(guī)范并一直堅(jiān)持下去,不要在中途改變它們。我個(gè)人更喜歡用大寫字母來(lái)命名文件,駝峰命名法來(lái)命名方法、變量等。但這些也會(huì)根據(jù)不同的語(yǔ)言而作出改變。

沒(méi)有比開(kāi)發(fā)者格式化代碼更糟糕的事情。

此外,在代碼中,我們還需要使用相同的縮進(jìn)格式。根據(jù)你的代碼樣式和選擇的語(yǔ)言,使用 2/4/8 個(gè)空格來(lái)做縮進(jìn)。但無(wú)論你使用什么樣的格式,請(qǐng)堅(jiān)持在整個(gè)項(xiàng)目中一直使用。

06. 不處理錯(cuò)誤

畏懼它。逃避它。Bug 終會(huì)降臨! —— 滅霸

(譯者注:指 Bug 如影隨形,不休不止,像詛咒一樣。)

事情是這樣的,無(wú)論你是多么優(yōu)秀的程序員,你的代碼都有可能會(huì)出現(xiàn)問(wèn)題,除非你寫的是像如下的這種代碼:

console.log("Yey")printf("Wow")

這些錯(cuò)誤有可能是因?yàn)?API 錯(cuò)誤引起的,也有可能是超時(shí),類型錯(cuò)誤,空值,或者只有上帝知道的原因。通常,這些會(huì)讓你的代碼出現(xiàn)問(wèn)題。

在不同的語(yǔ)言中,處理錯(cuò)誤的方式有很大的差異。但是一般情況下,在訪問(wèn)數(shù)據(jù)之前都需要判斷數(shù)據(jù)否為空。在我的經(jīng)驗(yàn)中,空指針比其它錯(cuò)誤都多。

所以,在執(zhí)行數(shù)據(jù)處理的相關(guān)需求時(shí),建議將代碼放到 try-catch 中,并處理對(duì)應(yīng)的異常,最后,不要忘記告訴用戶哪里出現(xiàn)了問(wèn)題。如果在用戶按下按鈕和按鍵的時(shí)候不給用戶反饋,用戶將不知道發(fā)生了什么。給用戶錯(cuò)誤提示,并告訴它下一步怎么做。

時(shí)刻記住滅霸的話。

07. 使用不當(dāng)?shù)臄?shù)據(jù)類型 / 數(shù)據(jù)結(jié)構(gòu)

在不同的語(yǔ)言中,數(shù)據(jù)類型要求不一樣,強(qiáng)類型語(yǔ)言非常嚴(yán)格,而弱類型可以隨意使用。強(qiáng)類型語(yǔ)言在編譯時(shí)就會(huì)告訴你錯(cuò)誤,而其它語(yǔ)言需要在運(yùn)行時(shí),才能知道錯(cuò)誤。

舉個(gè)例子,我們將數(shù)值存儲(chǔ)在整型 / 符點(diǎn)型 / 雙精度符點(diǎn)型的變量中,并且與存儲(chǔ)在字符串中的變量進(jìn)行比較時(shí),有的語(yǔ)言會(huì)進(jìn)行自動(dòng)類型轉(zhuǎn)換,然后進(jìn)行比較,而有的語(yǔ)言并不會(huì)。

結(jié)語(yǔ)

編程七宗罪,讓人不爽。我們需要避免出現(xiàn)。

這個(gè)僅僅是在編程中出現(xiàn)的常見(jiàn)錯(cuò)誤。你很難看到,一個(gè)程序員,在他的程序中出現(xiàn)這些問(wèn)題。但這也正如圣經(jīng)中的七宗罪一樣,不僅是這些問(wèn)題。它們是原罪,可以組合成不同的錯(cuò)誤。

你認(rèn)為還有什么錯(cuò)誤需要加在這個(gè)列表里面,在評(píng)論中寫出來(lái),讓我知道。

Happy Coding!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)注

    88

    文章

    3633

    瀏覽量

    93853
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4808

    瀏覽量

    68814
  • 數(shù)字化
    +關(guān)注

    關(guān)注

    8

    文章

    8806

    瀏覽量

    61972

原文標(biāo)題:“編程不規(guī)范,同事兩行淚!”

文章出處:【微信號(hào):AI_era,微信公眾號(hào):新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    OSI層模型中各層的協(xié)議 OSI層模型的優(yōu)勢(shì)與不足

    OSI層模型中各層的協(xié)議 OSI(Open Systems Interconnection)層模型是一個(gè)用于描述網(wǎng)絡(luò)通信功能的分層模型。每一層都負(fù)責(zé)不同的功能和任務(wù),并定義了相應(yīng)的協(xié)議來(lái)支持這些
    的頭像 發(fā)表于 11-24 10:54 ?420次閱讀

    如何選擇適合自己的編程語(yǔ)言

    。 1. 確定目標(biāo)和興趣 在選擇編程語(yǔ)言之前,首先要明確自己的目標(biāo)和興趣。這包括你想要開(kāi)發(fā)什么類型的項(xiàng)目,以及對(duì)哪些技術(shù)領(lǐng)域感興趣。例如,如果對(duì)網(wǎng)頁(yè)開(kāi)發(fā)感興趣,那么學(xué)習(xí)HTML、CSS和JavaScript可能是一個(gè)不錯(cuò)的選
    的頭像 發(fā)表于 11-15 09:37 ?485次閱讀

    如何選擇最適合的HDMI線?

    不同的場(chǎng)景。 對(duì)于大多數(shù)家庭用戶來(lái)說(shuō),銅芯HDMI線已經(jīng)足夠應(yīng)付日常所需。它們經(jīng)濟(jì)實(shí)惠,并且在短距離內(nèi)(一般小于3米)能夠提供穩(wěn)定的高清信號(hào)傳輸。不過(guò),一旦超過(guò)了這個(gè)范圍,信號(hào)的質(zhì)量可能會(huì)有所下降。 如果的設(shè)備放置得比較遠(yuǎn),或者
    的頭像 發(fā)表于 10-31 14:18 ?157次閱讀

    比亞迪攜手申,進(jìn)軍兩輪車市場(chǎng)探索鋰電替代鉛酸方案

    10月29日最新消息顯示,乘用車電池巨頭比亞迪正積極拓展兩輪車市場(chǎng)。據(jù)江蘇申車業(yè)有限公司10月28日上午發(fā)布的消息,江蘇申與比亞迪聯(lián)合成立的鋰電池包經(jīng)營(yíng)顧問(wèn)委員會(huì)已正式揭牌。
    的頭像 發(fā)表于 10-29 15:32 ?1477次閱讀

    單片機(jī)方案開(kāi)發(fā)-分享個(gè)常用的外圍電路設(shè)計(jì)

    。掌握上述大常用外圍電路設(shè)計(jì)的精髓,不僅能夠幫助您在設(shè)計(jì)過(guò)程中少走彎路,更能為您的電子產(chǎn)品增添一份專業(yè)與可靠。希望本文能為您的電子設(shè)計(jì)之路提供有益的參考和啟發(fā)
    發(fā)表于 09-24 15:59

    劍下天山》之“劍利刃”:“新一代”漏洞掃描管理系統(tǒng)

    。該平臺(tái)個(gè)方面功能尤其強(qiáng)大,堪稱梁羽生的武俠小說(shuō)《劍下天山》之“劍利刃”: ?日月劍?:多租戶管理。不同租戶間能設(shè)置符合各租戶自身特點(diǎn)的漏洞掃描策略,并只能查看當(dāng)前租戶的漏洞分別情況;平臺(tái)管理員能進(jìn)行全
    的頭像 發(fā)表于 09-09 11:23 ?394次閱讀

    【「?jìng)}頡編程快速上手」閱讀體驗(yàn)】+壹讀后感

    感謝電子發(fā)燒友論壇提供的讀書(shū)機(jī)會(huì),領(lǐng)略到華為公司開(kāi)創(chuàng)的新語(yǔ)言:倉(cāng)頡編程 。 在閱讀《倉(cāng)頡編程快速上手》這本書(shū)后,我深受啟發(fā)。這本書(shū)猶如一把鑰匙,為那些渴望踏入編程世界的人打開(kāi)了一扇便
    發(fā)表于 09-06 20:12

    工業(yè)機(jī)器人的四種編程(示教編程、離線編程、自增強(qiáng)現(xiàn)實(shí)編程編程)剖析!

    和工作量,提高編程效率,實(shí)現(xiàn)編程的自適應(yīng)性,從而提高生產(chǎn)效率,是機(jī)器人編程技術(shù)發(fā)展的終極追求。本文將就機(jī)器人編程技術(shù)的發(fā)展作一介紹,希望能給讀者帶來(lái)一些
    的頭像 發(fā)表于 08-30 12:14 ?2922次閱讀
    工業(yè)機(jī)器人的四種<b class='flag-5'>編程</b>(示教<b class='flag-5'>編程</b>、離線<b class='flag-5'>編程</b>、自增強(qiáng)現(xiàn)實(shí)<b class='flag-5'>編程</b>主<b class='flag-5'>編程</b>)剖析!

    段數(shù)碼管怎么判斷共陰共陽(yáng)

    和控制方式上有所不同。 一、段數(shù)碼管的基本原理 段數(shù)碼管的組成 段數(shù)碼管由個(gè)發(fā)光二極管(LED)組成,分別標(biāo)記為a、b、c、d、e、
    的頭像 發(fā)表于 08-28 16:17 ?1904次閱讀

    知道共模電感用錯(cuò)了會(huì)有什么影響嗎

    電子發(fā)燒友網(wǎng)站提供《知道共模電感用錯(cuò)了會(huì)有什么影響嗎.docx》資料免費(fèi)下載
    發(fā)表于 07-30 10:42 ?0次下載

    esp8266 GPIO口會(huì)有電流泄露,如何避免?

    請(qǐng)教當(dāng)esp8266 的EN口被外界拉低,芯片進(jìn)入關(guān)閉狀態(tài),理論上GPIO口為高阻是嗎? 為什么我的電路當(dāng)EN口為低時(shí),插上usb給鋰電池充電,這時(shí)觸摸電路板,很容易就導(dǎo)致接在GPIO3上的LED微微亮起來(lái)(低電平亮)。 這時(shí)mcu并沒(méi)有啟動(dòng),為什么GPIO口會(huì)有電流
    發(fā)表于 07-08 07:48

    輸出共模電感為什么會(huì)有噪音

    電子發(fā)燒友網(wǎng)站提供《輸出共模電感為什么會(huì)有噪音.docx》資料免費(fèi)下載
    發(fā)表于 07-04 17:06 ?1次下載

    市場(chǎng)上有類網(wǎng)線嗎

    類網(wǎng)線。類線(Category 7)是ISO/IEC 11801 7類/F級(jí)標(biāo)準(zhǔn)中最新的一種雙絞線,它主要為了適應(yīng)萬(wàn)兆位以太網(wǎng)技術(shù)的應(yīng)用和發(fā)展。以下是關(guān)于類網(wǎng)線的詳細(xì)特點(diǎn): 結(jié)構(gòu):
    的頭像 發(fā)表于 07-04 09:38 ?513次閱讀

    生成式AI的「七宗罪」!

    面對(duì)生成式AI日漸增長(zhǎng)的「罪惡」,我們?cè)撊绾谓鉀Q問(wèn)題?
    的頭像 發(fā)表于 05-07 16:34 ?1789次閱讀
    生成式AI的「<b class='flag-5'>七宗罪</b>」!

    電感質(zhì)量不好會(huì)有什么后果

    電子發(fā)燒友網(wǎng)站提供《電感質(zhì)量不好會(huì)有什么后果.docx》資料免費(fèi)下載
    發(fā)表于 03-29 14:51 ?0次下載
    主站蜘蛛池模板: 亚洲不卡视频在线观看| 天天射天天操天天色| 最近2018中文字幕免费视频| 不卡无毒免费毛片视频观看| 日本在线视频精品| 一色屋精品免费视频 视频| 免费在线观看视频| 久草男人天堂| 天天操精品视频| 亚洲第一在线视频| 国产精品免费观看网站| 老司机深夜影院入口aaaa| 日本黄色片免费看| 色妞网| 亚洲不卡网| 亚洲色图2| 中国三级视频| 天堂国产| 午夜欧美视频| 亚洲人成电影在线播放| 色综合久久久久久久久久久| 特黄一级真人毛片| 五月激情五月婷婷| 香蕉久久夜色精品国产小说| 三级毛片免费| 日本a级免费| 狠狠综合| 国产精品美女自在线观看免费| 综合网在线观看| 亚洲久久在线| 久久天天躁夜夜躁狠狠躁2015| 欧美黄色片免费观看| 欧美屁屁影院| 91免费视频网站| 色偷偷亚洲天堂| 老熟女一级毛片| 国产精品久久久久久久久免费观看| 欧美日韩一区二区三区毛片| 人人爽人人澡| 亚洲 欧美 丝袜 制服 在线| 免费一级视频在线播放|