91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

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

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

3天內不再提示

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

DPVg_AI_era ? 來源:lq ? 2019-02-20 09:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

以下為譯文:

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

但是在數字化時代,發(fā)明創(chuàng)造的方式發(fā)生了變化。現在,我們都創(chuàng)造數字化產品。我們建網站、寫軟件來滿足我們的需求。雖然我們創(chuàng)造不再依賴于我們的創(chuàng)造力,但是我們仍然可以與藝術家其名。

編程的世界非常地寬廣,涉及重多領域,我們有很多選擇。你可以選擇使用函數式編程,還是使用面向對象編程?你可以選擇做服務端還是客戶端?那么,你心中已經有抉擇了嗎?下面,有 100 種編程語言,可以用來實現你的需求。

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

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

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

上帝保佑,我們有版本控制工具。如我所說,如果我們沒有像 Git 這種版本管理工具,代碼的世界將變得異常艱難。版本控制讓我們在協(xié)作的時候,修改或移動變得非常簡單。

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

我參與過沒有版本控制的項目,那簡直就是一場惡夢。

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

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

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

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

03. 使用過多的依賴,不經思考直接升級

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

但是使用過多的依賴庫會對整個項目帶來風險。依賴庫越多,就意味著編譯時間和運行時間的加長。我們應該在我們需要的地方添加對應的依賴庫,而不要為了使用它而使用它。

所以,在升級之前,我們需要經常去檢查依賴庫 / 插件的支持情況。我曾經有一次,升級了 React,而沒有去檢查它對其它庫的影響。到如今,我依然認為這是我生命中最嚴重的錯誤之一。

04. 不自解釋的代碼

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

我們應該一直嘗試去寫自解釋的代碼。我們應該讓我們的代碼,在第一次被看到的時候,就知道它是干什么用的。要完成這樣的代碼,我們需要進行正確的代碼重構,統(tǒng)一的語法,適當的變量名稱。必要的時候,還要給代碼添加注釋。

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

05. 格式不一致

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

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

此外,在代碼中,我們還需要使用相同的縮進格式。根據你的代碼樣式和選擇的語言,使用 2/4/8 個空格來做縮進。但無論你使用什么樣的格式,請堅持在整個項目中一直使用。

06. 不處理錯誤

畏懼它。逃避它。Bug 終會降臨! —— 滅霸

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

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

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

這些錯誤有可能是因為 API 錯誤引起的,也有可能是超時,類型錯誤,空值,或者只有上帝知道的原因。通常,這些會讓你的代碼出現問題。

在不同的語言中,處理錯誤的方式有很大的差異。但是一般情況下,在訪問數據之前都需要判斷數據否為空。在我的經驗中,空指針比其它錯誤都多。

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

時刻記住滅霸的話。

07. 使用不當的數據類型 / 數據結構

在不同的語言中,數據類型要求不一樣,強類型語言非常嚴格,而弱類型可以隨意使用。強類型語言在編譯時就會告訴你錯誤,而其它語言需要在運行時,才能知道錯誤。

舉個例子,我們將數值存儲在整型 / 符點型 / 雙精度符點型的變量中,并且與存儲在字符串中的變量進行比較時,有的語言會進行自動類型轉換,然后進行比較,而有的語言并不會。

結語

編程七宗罪,讓人不爽。我們需要避免出現。

這個僅僅是在編程中出現的常見錯誤。你很難看到,一個程序員,在他的程序中出現這些問題。但這也正如圣經中的七宗罪一樣,不僅是這些問題。它們是原罪,可以組合成不同的錯誤。

你認為還有什么錯誤需要加在這個列表里面,在評論中寫出來,讓我知道。

Happy Coding!

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

    關注

    88

    文章

    3689

    瀏覽量

    95271
  • 代碼
    +關注

    關注

    30

    文章

    4900

    瀏覽量

    70762
  • 數字化
    +關注

    關注

    8

    文章

    9535

    瀏覽量

    63605

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

文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

    虹科NVH診斷案例 | 保時捷卡宴V6發(fā)動機敲擊聲與失火診斷

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

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

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

    知道電感的大關鍵參數嗎?

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

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

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

    TVP5145如果視頻切換是在內部而非外部完成的,那么幀/場再同步時間是否會有所改善?

    ,因此我對 TI 提出的問題是:如果視頻切換是在內部而非外部完成的,那么幀/場再同步時間是否會有所改善?
    發(fā)表于 02-17 07:40

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

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

    如何選擇適合自己的編程語言

    。 1. 確定目標和興趣 在選擇編程語言之前,首先要明確自己的目標和興趣。這包括你想要開發(fā)什么類型的項目,以及對哪些技術領域感興趣。例如,如果對網頁開發(fā)感興趣,那么學習HTML、CSS和JavaScript可能是一個不錯的選
    的頭像 發(fā)表于 11-15 09:37 ?1926次閱讀

    如何選擇最適合的HDMI線?

    不同的場景。 對于大多數家庭用戶來說,銅芯HDMI線已經足夠應付日常所需。它們經濟實惠,并且在短距離內(一般小于3米)能夠提供穩(wěn)定的高清信號傳輸。不過,一旦超過了這個范圍,信號的質量可能會有所下降。 如果的設備放置得比較遠,或者
    的頭像 發(fā)表于 10-31 14:18 ?550次閱讀

    比亞迪攜手申,進軍兩輪車市場探索鋰電替代鉛酸方案

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

    單片機方案開發(fā)-分享個常用的外圍電路設計

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

    【「倉頡編程快速上手」閱讀體驗】+壹讀后感

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

    工業(yè)機器人的四種編程(示教編程、離線編程、自增強現實編程編程)剖析!

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

    段數碼管怎么判斷共陰共陽

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

    知道共模電感用錯了會有什么影響嗎

    電子發(fā)燒友網站提供《知道共模電感用錯了會有什么影響嗎.docx》資料免費下載
    發(fā)表于 07-30 10:42 ?0次下載
    主站蜘蛛池模板: 午夜视频免费观看黄 | 国模大尺度酒店私拍视频拍拍 | 视频免费1区二区三区 | 国产特黄1级毛片 | 国产嫩草影院在线观看 | 亚洲宅男天堂a在线 | 国产成人一区二区在线不卡 | 日韩毛片免费看 | 一色屋免费视频 | 久久国产免费观看精品 | 五月综合激情网 | 美女黄18| 人人插人人干 | 欧美网站视频 | 青青青久97在线观看香蕉 | 轻点灬大ji巴太粗太大了小说 | 中文字幕一区二区三区在线播放 | 黄网站在线观看视频 | 高清毛片一区二区三区 | 久久9热| 国产乱人视频在线看 | 四虎国产精品成人永久免费影视 | 男人的午夜天堂 | 午夜在线观看视频在线播放版 | 插插插叉叉叉 | 天天综合天天做天天综合 | 亚洲男人的天堂久久无 | 免费毛片网站 | 好爽毛片一区二区三区四区 | 同性恋激情视频 | 小草影院亚洲私人影院 | 欧美一级黄色片在线观看 | 四虎影视在线影院4hu | 狠色网| 成在线人永久免费播放视频 | 日韩精品卡4卡5卡6卡7卡 | 户外露出精品视频国产 | 免费又爽又黄1000禁片 | 亚洲电影在线播放 | 日不卡 | 一级欧美一级日韩 |