国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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 ? 來源:lq ? 2019-02-20 09:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

以下為譯文:

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

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

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

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

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

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

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

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

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

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

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

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

讓我們來找一找,你的代碼中用 a , b, c 命名的代碼。

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

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

但是使用過多的依賴庫(kù)會(huì)對(duì)整個(gè)項(xiàng)目帶來風(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,而沒有去檢查它對(duì)其它庫(kù)的影響。到如今,我依然認(rèn)為這是我生命中最嚴(yán)重的錯(cuò)誤之一。

04. 不自解釋的代碼

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

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

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

05. 格式不一致

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

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

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

06. 不處理錯(cuò)誤

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

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

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

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

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

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

所以,在執(zhí)行數(shù)據(jù)處理的相關(guān)需求時(shí),建議將代碼放到 try-catch 中,并處理對(duì)應(yīng)的異常,最后,不要忘記告訴用戶哪里出現(xià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)的常見錯(cuò)誤。你很難看到,一個(gè)程序員,在他的程序中出現(xiàn)這些問題。但這也正如圣經(jīng)中的七宗罪一樣,不僅是這些問題。它們是原罪,可以組合成不同的錯(cuò)誤。

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

Happy Coding!

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

    關(guān)注

    90

    文章

    3716

    瀏覽量

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

    關(guān)注

    30

    文章

    4968

    瀏覽量

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

    關(guān)注

    8

    文章

    10658

    瀏覽量

    67233

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

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    申命名“碰瓷”智界和問界!三輪車龍頭的電動(dòng)化轉(zhuǎn)型焦慮

    電子發(fā)燒友網(wǎng)報(bào)道(文/李彎彎)2025年7月,中國(guó)三輪車行業(yè)因一場(chǎng)命名爭(zhēng)議被推上風(fēng)口浪尖。重慶申車輛有限公司在年中新品發(fā)布會(huì)上,將兩款電動(dòng)三輪車命名為“智界S300”與“問界Q1P”,其命名與華為
    的頭像 發(fā)表于 07-12 00:14 ?1.1w次閱讀

    企業(yè)智能體“三

    注定暗淡的企業(yè)智能體
    的頭像 發(fā)表于 02-24 12:04 ?8587次閱讀
    企業(yè)智能體“三<b class='flag-5'>宗</b><b class='flag-5'>罪</b>”

    FPGA 入門必看:Verilog 與 VHDL 編程基礎(chǔ)解析!

    很多開發(fā)者第一次接觸FPGA,都會(huì)有同樣的疑問:FPGA是硬件,不是軟件,怎么寫程序?答案就是用硬件描述語(yǔ)言(HDL),最常用的就是Verilog和VHDL。今天,我們就帶你入門,搞清楚FPGA編程
    的頭像 發(fā)表于 01-19 09:05 ?453次閱讀
    FPGA 入門必看:Verilog 與 VHDL <b class='flag-5'>編程</b>基礎(chǔ)解析!

    從軟件到硬件的轉(zhuǎn)場(chǎng):一場(chǎng)由OceanOS-CM0啟發(fā)的嵌入式思考

    一、緣起:軟件工程師的硬件入門 做了多年ios的我,在近幾年的就業(yè)環(huán)境中,倍感壓力。有幸認(rèn)識(shí)到一位具有多年硬件設(shè)計(jì)、編程經(jīng)驗(yàn),也是曾經(jīng)從軟件轉(zhuǎn)入硬件行業(yè)的資料工程師汪工。 最近,在多種思想斗爭(zhēng)后
    發(fā)表于 01-04 15:52

    如何成為編程高手

    、多與別人交流   三人行必有我?guī)煟?b class='flag-5'>也許在一次和別人不經(jīng)意的談話中,就可以迸出靈感的火花。多上上網(wǎng),看看別人對(duì)同一問題的看法,會(huì)給你很大的啟發(fā)。   7、良好的編程風(fēng)格   注意養(yǎng)成良好的習(xí)慣,代碼
    發(fā)表于 12-29 06:57

    EZ - BLE模塊編程套件(CYBLE - 022001 - PROG)使用指南

    EZ - BLE模塊編程套件(CYBLE - 022001 - PROG)使用指南 作為電子工程師,在藍(lán)牙模塊編程的工作中,一款好用的編程套件能極大提升工作效率。今天就來詳細(xì)介紹一下Cypress
    的頭像 發(fā)表于 12-20 10:35 ?1243次閱讀

    2025年大數(shù)據(jù)防泄密軟件權(quán)威盤點(diǎn):為的機(jī)密數(shù)據(jù)提供持續(xù)守護(hù)

    2025年大數(shù)據(jù)防泄密軟件權(quán)威盤點(diǎn):為的機(jī)密數(shù)據(jù)提供持續(xù)守護(hù) 無論是內(nèi)部員工的無意泄露,還是外部黑客的有意竊取,都可能給企業(yè)帶來巨大的經(jīng)濟(jì)損失和聲譽(yù)損害。 如何選擇一款可靠的數(shù)據(jù)防泄密軟件,成為
    的頭像 發(fā)表于 09-30 10:46 ?502次閱讀

    瑞沃微CSP內(nèi)窺鏡醫(yī)療光源:夕冷光告白,探索未曾見過的內(nèi)在宇宙!

    夕帶愛看“芯”際!瑞沃微CSP內(nèi)窺鏡光源,用冷光照亮的美(內(nèi)部之美)又到夕,還在糾結(jié)送花、吃飯、看電影的老三樣?今年來點(diǎn)真正的“硬核浪漫”——帶你最愛的人,一起走進(jìn)瑞沃微CSP內(nèi)窺鏡的“冷光
    的頭像 發(fā)表于 08-29 17:59 ?640次閱讀
    瑞沃微CSP內(nèi)窺鏡醫(yī)療光源:<b class='flag-5'>七</b>夕冷光告白,探索<b class='flag-5'>你</b>未曾見過的內(nèi)在宇宙!

    基于FPGA的USB數(shù)據(jù)傳輸

    也許會(huì)有疑問,明明有這么多通信方式和數(shù)據(jù)傳輸(SPI、I2C、UART、以太網(wǎng))為什么偏偏使用USB呢?
    的頭像 發(fā)表于 08-06 14:47 ?4874次閱讀
    基于FPGA的USB數(shù)據(jù)傳輸

    華為開發(fā)者大會(huì)2025:軟通動(dòng)力聯(lián)合江蘇申發(fā)布“微型車HarmonyOS Connect智慧出行解決方案”

    華為開發(fā)者大會(huì) 2025期間,軟通動(dòng)力攜手江蘇申車業(yè)有限公司聯(lián)合發(fā)布 “申微型車HarmonyOS Connect智慧出行解決方案” ,依托鴻蒙生態(tài)深度整合微型車行業(yè)資源,為中國(guó)電動(dòng)微型車用戶
    的頭像 發(fā)表于 06-23 09:33 ?1188次閱讀
    華為開發(fā)者大會(huì)2025:軟通動(dòng)力聯(lián)合江蘇<b class='flag-5'>宗</b>申發(fā)布“微型車HarmonyOS Connect智慧出行解決方案”

    虹科NVH診斷案例 | 保時(shí)捷卡宴V6發(fā)動(dòng)機(jī)敲擊聲與失火診斷

    問題根源。對(duì)于初學(xué)者而言,這個(gè)案例可能會(huì)有些復(fù)雜,但其中的思路,想必會(huì)對(duì)有所啟發(fā)。振動(dòng)異響精準(zhǔn)診斷01故障現(xiàn)象一輛3.6LV6保時(shí)捷卡宴,車主反映早上冷啟動(dòng)時(shí),發(fā)動(dòng)機(jī)
    的頭像 發(fā)表于 06-19 16:31 ?783次閱讀
    虹科NVH診斷案例 | 保時(shí)捷卡宴V6發(fā)動(dòng)機(jī)敲擊聲與失火診斷

    圖書館WiFi總掉線?我的秘密武器居然是它.

    ??蜂鳥IP??這個(gè)神器(其實(shí)是偷偷試的,噓——),今天就來和同樣被圖書館網(wǎng)絡(luò)折磨的小伙伴們分享一下我的“自救”經(jīng)歷。 ??1. 圖書館網(wǎng)絡(luò)的“七宗罪”?? 在圖書館上網(wǎng)有多難?我的血淚史告訴我
    發(fā)表于 06-10 18:05

    使用EZ-USB HX2LP CY7C65630時(shí),遇到將復(fù)位線拉低的問題怎么解決?

    問題嗎? 也許復(fù)位引腳的內(nèi)部示意圖會(huì)有所幫助。 其他信息 Vcc通過10k連接到3.3V 復(fù)位信號(hào)上沒有電阻。 信號(hào)直接連接至電壓監(jiān)控器 (CAT811STBI-GT3)
    發(fā)表于 05-13 06:04

    知道電感的大關(guān)鍵參數(shù)嗎?

    今天這篇文章介紹電感的大關(guān)鍵參數(shù)。1、電感值電感值就是電感做好以后的固有特性,比如1uH, 10mH,1H,這樣不同類型的感值。在學(xué)習(xí)電感值之前,我們先看一下電阻公式: 其中p是導(dǎo)體的電阻率
    發(fā)表于 04-16 11:31

    燈光太普通?快來試試這款多模式的彩燈方案!

    單觸摸彩燈方案是否也曾為房間的單調(diào)而苦惱?是否覺得普通的燈光已經(jīng)無法滿足?別擔(dān)心,單觸摸彩燈方案來了!單觸摸彩燈的設(shè)計(jì)非常人性化,只需輕輕一觸,提供了五種燈光模式,滿足
    的頭像 發(fā)表于 03-17 18:22 ?1324次閱讀
    燈光太普通?快來試試這款多模式的<b class='flag-5'>七</b>彩燈方案!