精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

我被噴了:這樣寫代碼是多此一舉?

開發(fā) 前端
如果你的記憶力很好,自己一個做項目的時候追求點效率倒也無所謂了。但要是和其他同學一起做項目、維護代碼,寫帶有魔法值的代碼無疑會讓他人難以理解,如果再不寫注釋,可能他們連殺了你的心都會有了。

[[396356]]

本文轉(zhuǎn)載自微信公眾號「程序員魚皮」,作者魚皮。轉(zhuǎn)載本文請聯(lián)系程序員魚皮公眾號。

大家好,我是魚皮,今天通過一件事情,分享寫代碼時的一個重要小技巧。

前段時間,我在編程導航項目中開源了一段代碼,實現(xiàn)的功能是,當用戶的操作失敗時,會在頁面上彈出一個錯誤框,并提示 “操作失敗”,代碼如下:

  1. // 錯誤提示 
  2. const ERROR_MESSAGE = "操作失敗"
  3.  
  4. // 刪除資源 
  5. const result = deleteResource();  
  6. if(!result) { 
  7.   alert(ERROR_MESSAGE); 

然而沒想到,有位同學直接留言說我這么寫代碼是多此一舉!為什么要單獨給 “操作失敗” 這個字符串定義一個常量呢?直接這么寫不就好了:

  1. // 刪除資源 
  2. const result = deleteResource();  
  3. if(!result) { 
  4.   alert("操作失敗"); 

似乎代碼變得更精簡了,但其實這是一個常見的編程誤區(qū),魔法值 問題。

魔法值

什么是魔法值呢?聽起來有點像游戲的藍槽 MP 哈哈。

[[396357]]

其實,魔法值和 MP 一點關系都沒有!

魔法值指的是代碼中沒有任何定義,直接像魔法一樣憑空出現(xiàn)的值,可以是數(shù)字、字符串等,比如:

  1. // 輸出 
  2. console.log(1); 
  3. // 彈出警告框 
  4. alert("dog"); 

為什么要給這種值一個名號 “魔法值” 呢,因為它對代碼的影響非常惡劣!

魔法值的問題

首先,魔法值會嚴重影響代碼的 可讀性 和 可維護性。

像上面的魔法字符串看起來好像沒什么問題,但如果魔法值是數(shù)字,就必須通過閱讀其他代碼才能推斷出來,比如:

  1. if (a == 1) { 
  2.   alert("good"); 
  3. else if (a == 2) { 
  4.   alert("bad"); 
  5. else if (a == 3) { 
  6.   ... 

只憑這樣一段代碼,你能知道數(shù)字 1、2、3 分別是什么意思嗎?

有同學說了,我自己寫的代碼難道還會看不懂么?別急,過一個月你再來閱讀下這段代碼。

如果你的記憶力很好,自己一個做項目的時候追求點效率倒也無所謂了。但要是和其他同學一起做項目、維護代碼,寫帶有魔法值的代碼無疑會讓他人難以理解,如果再不寫注釋,可能他們連殺了你的心都會有了。

第二,魔法值還會影響開發(fā)的 效率和準確性。

還是拿開頭那段代碼為例,噴我的同學根本沒有把代碼文件完整讀完,其實在該文件中,我不止一次使用到了 ERROR_MESSAGE 這一常量:

  1. // 錯誤提示 
  2. const ERROR_MESSAGE = "操作失敗"
  3.  
  4. // 刪除資源 
  5. const result = deleteResource();  
  6. if(!result) { 
  7.   alert(ERROR_MESSAGE); 
  8. // 修改資源 
  9. const result = updateResource();  
  10. if(!result) { 
  11.   alert(ERROR_MESSAGE); 
  12.  
  13. ... 

如果像他說的一樣,不去定義常量,而是直接用魔法字符串,那么每次要彈出 “操作失敗” 時,我都要重復去打這幾個字,浪費時間的同時,還存在打錯字的風險。而如果使用預定義的常量,就能很輕松地利用開發(fā)工具提供的代碼提示和補全功能。

代碼補全

此外,魔法值還會影響代碼的 易修改性。

假如說同一個魔法字符串在代碼中多次出現(xiàn),那當我要修改字符串文案時,就要人工一個個地去找到這個字符串進行修改,即使可以用開發(fā)工具提供的搜索和全局替換功能,但也要去檢查一遍,非常麻煩。

  1. alert("你操作失敗了"); 
  2. alert("你操作失敗了"); 
  3. alert("你操作失敗了"); 

而如果將字符串定義為常量,只用在定義處修改它的值即可。此時的常量名,倒像是魔法值的一個指針了。

  1. const ERROR_MESSAGE = "你操作失敗了" 
  2. alert("ERROR_MESSAGE"); 
  3. alert("ERROR_MESSAGE"); 
  4. alert("ERROR_MESSAGE"); 

解決魔法值

正因為魔法值對代碼有很大的危害,所以各種代碼規(guī)范中,都建議開發(fā)者不要使用魔法值。

解決魔法值的方式很簡單,其實上面已經(jīng)講到了,就是為一系列相同的值定義一個 常量。注意是常量,不是變量!因為魔法值的內(nèi)容一般是固定的,其本身結構不會被修改。

對于一系列的魔法值,建議定義為一個枚舉或單獨的常量類,比如資源有很多審核狀態(tài),可以把所有狀態(tài)集中定義。

JavaScript 代碼:

  1. const REVIEW_STATUS = { 
  2.   // 待審核 
  3.   WAITING: 0, 
  4.   // 通過 
  5.   PASS: 1, 
  6.   // 拒絕 
  7.   REJECT: 2 

Java 代碼:

  1. public enum ReviewStatus { 
  2.   WAITING, PASS, REJECT 

 

希望本期分享對大家有幫助,千萬不要再寫爛代碼啦!

 

責任編輯:武曉燕 來源: 程序員魚皮
相關推薦

2015-07-03 11:25:31

央視WiFi

2020-04-16 22:27:26

顯示器60Hz游戲

2009-08-19 16:14:17

.NET接口

2021-06-09 09:19:39

SSL證書數(shù)據(jù)安全公鑰

2020-09-24 10:59:45

區(qū)塊鏈央行數(shù)字貨幣

2020-09-16 06:51:37

Java線程JVM

2021-08-16 13:39:40

Windows 10Windows微軟

2009-03-02 16:52:59

SQL數(shù)據(jù)庫開發(fā)

2017-05-18 18:12:50

中小企業(yè)

2020-08-17 08:18:51

Java

2021-03-17 16:53:51

IO多路

2025-04-23 08:22:37

JavaKotlin類型

2009-11-08 22:34:30

2014-03-19 15:41:21

編程語言編程規(guī)則

2009-02-18 18:14:51

VMwareUbuntu系統(tǒng)

2024-12-26 07:41:47

Java類型ArrayList

2013-08-26 13:52:58

云服務云安全云取證

2021-01-12 15:58:03

云管理

2021-01-03 14:45:50

數(shù)字貨幣支付寶現(xiàn)金

2023-09-19 12:45:36

點贊
收藏

51CTO技術棧公眾號

青青草原av在线播放| 国产伦理一区二区三区| 中文字幕第二区| 亚洲成人精品综合在线| 亚洲欧美日韩国产成人精品影院| 成人免费看片网站| 精品成人久久久| 日韩伦理一区| 精品国产91洋老外米糕| 欧洲熟妇精品视频| 精品一性一色一乱农村| 国产无遮挡一区二区三区毛片日本| 国产专区欧美专区| 91av在线免费视频| 欧美在线网站| 夜夜嗨av色一区二区不卡| 亚洲丝袜在线观看| 亚洲电影观看| 亚洲精品视频在线看| 日韩精品久久久免费观看| 精品国产999久久久免费| 久久99伊人| 欧美国产日韩免费| 三上悠亚在线观看视频| 牲欧美videos精品| 欧美mv和日韩mv国产网站| 91香蕉视频导航| 麻豆mv在线看| 亚洲国产视频网站| 在线播放 亚洲| 毛片在线播放网站| 99久久国产免费看| 91在线短视频| 国产又粗又长视频| 日日夜夜精品免费视频| 2018中文字幕一区二区三区| 校园春色 亚洲| 婷婷激情综合| 夜夜嗨av一区二区三区免费区| 亚洲av无码一区二区三区观看 | 一区二区三区在线免费视频| 午夜久久资源| 撸视在线观看免费视频| 暴力调教一区二区三区| 99在线国产| 国产按摩一区二区三区| 久久se精品一区精品二区| 国产精品va在线| 日韩在线播放中文字幕| 国产一区成人| 97在线视频免费播放| 日韩手机在线观看| 亚洲激情网站| 91精品国产高清久久久久久| 日本少妇毛茸茸高潮| 黄色亚洲在线| 午夜精品一区二区三区在线视| 国产一级特黄毛片| 在线日韩电影| 5566成人精品视频免费| 亚洲欧美自拍视频| 日日夜夜精品视频天天综合网| 国产成人免费91av在线| 精品国产青草久久久久96| 麻豆一区二区99久久久久| 国产精品一区二区电影| 国产又粗又黄又爽的视频| 麻豆91在线看| 91香蕉视频在线下载| 亚洲成人av综合| 成人午夜看片网址| 久久爱av电影| 成人高清免费观看mv| 国产精品系列在线| 中文字幕第50页| 欧美xxxx视频| 欧美午夜激情小视频| 美女网站免费观看视频| 日韩欧乱色一区二区三区在线 | 同心难改在线观看| 91色|porny| 视频一区视频二区视频三区视频四区国产 | 久久久美女毛片| 午夜精品区一区二区三| 50度灰在线| 欧美性videos高清精品| 午夜在线观看av| 九九99久久精品在免费线bt| 日韩av网站电影| 久久精品国产亚洲AV成人婷婷| 亚洲香蕉av| 午夜精品视频在线| 亚洲精品久久久久久久蜜桃| 韩国av一区二区| 国产一区在线免费观看| shkd中文字幕久久在线观看| 一区二区三区欧美在线观看| 亚洲国产精品久久久久爰色欲| 欧洲亚洲精品久久久久| 欧美精品一区二区不卡| 四虎成人免费影院| 精品成人一区| 成人a在线观看| 深夜福利视频一区| 亚洲丝袜精品丝袜在线| 欧美a在线视频| 久久伦理中文字幕| 亚洲欧洲一区二区三区久久| 四虎免费在线视频| 蜜乳av一区二区| 精选一区二区三区四区五区| 国产cdts系列另类在线观看| 一本大道久久a久久综合| 色91精品久久久久久久久| 日韩高清成人在线| 欧美精品免费在线观看| 日本丰满少妇做爰爽爽| caoporn国产一区二区| 黄色网址在线免费看| 偷拍精品精品一区二区三区| 精品国产乱子伦一区| 欧美黄色aaa| 免费的国产精品| 精品一卡二卡三卡四卡日本乱码| 在线h片观看| 69p69国产精品| 亚洲自拍偷拍图| 亚洲国产一区二区三区a毛片| 91免费看国产| 午夜免费视频在线国产| 91久久久免费一区二区| 日韩精品卡通动漫网站| 亚洲美女91| 国产精品毛片va一区二区三区| 国产精品va在线观看视色| 欧美性受xxxx| 欧美老女人性生活视频| 日一区二区三区| 欧美日韩无遮挡| 二区三区不卡| 亚洲欧洲国产精品| 日本久久综合网| 久久久精品免费免费| 国产欧美在线一区| 日韩美女毛片| 欧美在线观看日本一区| 亚洲日本国产精品| 欧美日韩国产中字| av网站免费在线播放| 亚久久调教视频| 欧美成人综合一区| 桃子视频成人app| 伊人伊人伊人久久| 中文字幕观看在线| 国产精品久久久久影院亚瑟| 九九九九九九九九| 在线中文字幕第一区| 91久久精品国产91久久性色tv| 亚洲综合影视| 欧美精品一区二区在线观看| 日韩欧美亚洲一区二区三区| 91在线观看视频| 欧美激情国产精品日韩| 精品视频亚洲| 成人性生交大片免费观看嘿嘿视频| 国产在线高清视频| 欧美成人官网二区| 亚洲精品国产精品乱码| 国产亚洲欧美日韩日本| 久久人人爽av| 亚洲无线一线二线三线区别av| 国产自产在线视频一区| 精品国产免费人成网站| 丝袜美腿精品国产二区 | 精品精品国产高清a毛片牛牛 | 成人av播放| 女厕盗摄一区二区三区| 中文字幕日韩av电影| av中文字幕观看| 激情亚洲一区二区三区四区 | 亚洲第一天堂久久| 欧美日韩亚洲一区| 麻豆传媒一区二区| 久久69成人| 久久久在线视频| 国产黄在线观看免费观看不卡| 制服丝袜中文字幕一区| 精品无码黑人又粗又大又长| 91丨porny丨最新| 欧美一级特黄a| 欧美三级在线| 亚洲国内在线| 国产精品成人自拍| 国产精品入口尤物| 色呦呦在线资源| 亚洲香蕉成视频在线观看| 精品久久国产视频| 色婷婷av一区二区| 免费在线观看亚洲| 欧美国产精品中文字幕| 蜜臀aⅴ国产精品久久久国产老师 性活交片大全免费看 | 亚洲一二三在线| va视频在线观看| 欧美在线小视频| 久久网中文字幕| 国产精品全国免费观看高清| 黄色片视频免费观看| 国产精品一二一区| 超碰在线公开97| 国产亚洲在线观看| www.亚洲成人网| 国产韩日影视精品| 日本精品免费| 欧美一级二级三级视频| 96久久精品| 欧洲亚洲精品| 国产精品成人v| 在线观看特色大片免费视频| 欧美日韩爱爱视频| 色综合久久久久综合一本到桃花网| 日韩精品在线免费| 亚洲av无码乱码国产精品| 欧美日韩一区二区三区不卡| 高清乱码免费看污| 激情成人在线视频| 国产大片中文字幕| 一区二区三区日韩在线观看| 国产日产精品一区二区三区的介绍| 久久在线免费观看| 日本五十肥熟交尾| 国产传媒欧美日韩成人| 91视频这里只有精品| 日韩国产欧美在线视频| 国产精品沙发午睡系列| 精品电影一区| 无码粉嫩虎白一线天在线观看| 最新国产精品久久久| 亚洲最新在线| 日韩欧美网站| 亚洲午夜精品久久久中文影院av| 欧美精品尤物在线观看| 欧美性xxxx69| 欧美精品第一区| 欧美日韩在线精品| 中国av一区| 欧美一区二区三区电影在线观看| 日韩美脚连裤袜丝袜在线| 久久99导航| 自拍偷拍精品| 日韩成人在线资源| 日韩国产欧美一区二区| 亚洲精品一区二区三区樱花| 不卡一区综合视频| 亚洲国产欧美日韩| 久久人人99| 国产成人免费高清视频| 中文字幕免费一区二区三区| 青青视频免费在线| 亚洲高清不卡| 成人午夜视频免费在线观看| 日本欧美一区二区三区| 日本中文字幕二区| 国产成人av在线影院| 无码精品一区二区三区在线播放| 91视频www| 老头老太做爰xxx视频| 成人免费在线播放视频| 欧美日韩人妻精品一区二区三区| 亚洲综合色噜噜狠狠| 国产精品黄色大片| 在线观看视频91| 国产乱子伦精品无码码专区| 欧美tk丨vk视频| 男操女在线观看| 最近2019中文字幕大全第二页| 黄视频在线观看网站| 欧美黄色片在线观看| 亚洲电影观看| 成人免费大片黄在线播放| 96sao在线精品免费视频| 欧美二区在线| 希岛爱理av一区二区三区| 99在线精品免费视频| 免费成人美女在线观看| 四虎国产精品免费| wwwwww.欧美系列| 天天色影综合网| 香蕉成人啪国产精品视频综合网| www.五月婷婷.com| 精品国产污污免费网站入口| 国产乱理伦片a级在线观看| 久久精品亚洲一区| 日本电影欧美片| 亚洲tv在线观看| 国内精品久久久久久久影视简单 | dy888夜精品国产专区| 国产精品欧美在线观看| 一本大道东京热无码aⅴ| 日韩高清在线电影| 日本一级大毛片a一| 国产精品午夜免费| 毛片毛片女人毛片毛片| 日韩一二三区不卡| 成人在线免费公开观看视频| 久久久久久久久综合| 色成人综合网| 免费久久99精品国产自| 欧美先锋影音| 欧美特黄aaa| 久久精品亚洲精品国产欧美kt∨| 久久精品www人人爽人人| 欧美日韩黄色一区二区| 日本亚洲欧美| 久久久噜噜噜久噜久久| 亚洲免费一区| 欧美婷婷久久| 在线视频精品| 国产精品无码自拍| 自拍偷在线精品自拍偷无码专区| 69亚洲精品久久久蜜桃小说| 亚洲精品wwwww| 2018av在线| 99理论电影网| 在线中文字幕第一区| 在线黄色免费看| 国产欧美1区2区3区| 天码人妻一区二区三区在线看| 亚洲аv电影天堂网| 青草在线视频| 91福利视频导航| 久久久久久久久久久久久久| 日韩精品你懂的| 国产三级欧美三级日产三级99| 午夜婷婷在线观看| 日韩乱码在线视频| 色在线中文字幕| 鲁丝一区二区三区免费| av成人国产| 性欧美成人播放77777| 欧美日韩黄色大片| 日色在线视频| 浅井舞香一区二区| 要久久电视剧全集免费| 免费av网址在线| 国产欧美va欧美不卡在线| 国产精品午夜一区二区| 正在播放欧美视频| a一区二区三区亚洲| 一区二区三区四区免费观看| 国产精品中文字幕日韩精品 | 7788色淫网站小说| 高跟丝袜一区二区三区| 每日更新在线观看av| 国产精品白嫩美女在线观看| 欧美在线色图| 999这里有精品| 亚洲精品中文字幕乱码三区| wwwav在线播放| 97国产精品免费视频| 亚洲精品国产动漫| 天堂中文视频在线| 中文字幕亚洲一区二区va在线| 99久久精品国产一区二区成人| 欧美福利在线观看| 婷婷精品视频| 精品少妇无遮挡毛片| 国产精品成人免费精品自在线观看| a天堂在线观看视频| 69影院欧美专区视频| 九九久久精品| 日本一二区免费| 亚洲成人免费电影| 你懂的在线视频| 国产精品流白浆视频| 91精品国产麻豆国产在线观看| 最新中文字幕日本| 欧美日韩国产在线| 91大神在线网站| 97人人香蕉| 午夜在线视频观看日韩17c| 欧美巨胸大乳hitomi| 日韩免费一区二区三区在线播放| 美女搞黄视频在线观看| 亚洲一区二区三区加勒比 | 色操视频在线| 欧美日韩一区二区三| 激情久久五月天| 日韩三级av在线| www亚洲欧美| 色橹橹欧美在线观看视频高清| 色一情一区二区| 欧美丝袜第一区| h视频在线免费观看| 久久综合色一本| 国产乱人伦偷精品视频不卡| 欧美日韩乱国产| 久久视频在线视频| 亚洲人成网www| 国产精品19p| 欧美日韩一级大片网址|