精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

成人短视频app| 无码人妻精品一区二区蜜桃色欲| 亚洲伦理久久| 最好看的中文字幕久久| 91热福利电影| 国产性70yerg老太| 婷婷综合福利| 亚洲国产成人tv| 久久精品国产理论片免费| 无码人妻av免费一区二区三区| 色喇叭免费久久综合| 91精品久久久久久久91蜜桃| 日韩一级免费看| 三级黄视频在线观看| 宅男噜噜噜66一区二区| 在线视频国产日韩| 免费黄频在线观看| 蜜桃在线视频| 亚洲色欲色欲www在线观看| 国产精品免费一区二区三区在线观看| 中文字幕黄色片| 亚洲老女人视频免费| 欧美日韩一区二区不卡| 国产精品一线二线三线| 成人三级黄色免费网站| 久久aⅴ国产欧美74aaa| 久久久久久久久国产| 国产精品密蕾丝袜| 91久久偷偷做嫩草影院电| 色综合视频在线观看| 久久精品在线免费视频| 精品无人乱码| www.成人网.com| 成人高清视频观看www| 特级西西444www大精品视频免费看| 色一区二区三区四区| 亚洲国产精品久久久久秋霞蜜臀| 国产一二三区av| 激情国产在线| 色婷婷综合网| 国产午夜精品一区二区三区嫩草 | 成人亚洲一区| 精品国产凹凸成av人网站| 黄色片视频在线播放| 免费不卡av| 中文字幕日本不卡| 日本一区二区精品视频| 日本韩国在线观看| 国内精品视频一区二区三区八戒| 欧美亚洲国产视频小说| 久久久久久国产精品免费播放| 成人aaaa| 亚洲天堂av高清| 三级男人添奶爽爽爽视频| 香蕉大人久久国产成人av| 欧美性感一区二区三区| heyzo国产| av中文在线资源库| 一区二区三区四区高清精品免费观看 | 免费成人小视频| 欧美中文在线免费| 日韩毛片在线视频| 自拍欧美日韩| 久久天堂电影网| 影音先锋男人资源在线观看| 精品一区电影| 亚洲欧洲视频在线| 亚洲熟妇无码av| 天美av一区二区三区久久| 亚洲白虎美女被爆操| 深夜视频在线观看| 91精品啪在线观看国产爱臀| 91超碰这里只有精品国产| 污污的视频免费| 日韩国产一二三区| 欧美裸体一区二区三区| 亚洲另类第一页| 亚洲欧洲日韩精品在线| 欧美一区二区在线免费播放| 日本网站在线看| 精品一区二区三区中文字幕视频| 欧美一级日韩免费不卡| avtt中文字幕| 你懂的在线观看一区二区| 日韩经典中文字幕| 午夜理伦三级做爰电影| 九九综合在线| 中文字幕亚洲一区二区三区| 欧美熟妇精品黑人巨大一二三区| 日本天堂一区| 国产一区二区日韩| 精品人妻伦九区久久aaa片| 综合亚洲视频| **欧美日韩vr在线| 国产精品免费无遮挡无码永久视频| 天使萌一区二区三区免费观看| 国产精品免费视频xxxx| 亚洲国产无线乱码在线观看| 国产一区二区三区在线观看精品 | 一区精品在线观看| 极品少妇xxxx偷拍精品少妇| 国产精品亚洲综合| 免费在线黄色网址| 国产精品电影院| www.成年人视频| 91禁在线看| 精品污污网站免费看| 宇都宫紫苑在线播放| 久久久久高潮毛片免费全部播放| 亚洲区在线播放| 精品国产精品国产精品| 国产日韩欧美| 国产精品久久久久久久久久直播 | 中文字幕久久久| 伊人在线视频观看| 在线中文字幕亚洲| 国产91精品不卡视频| 夜夜狠狠擅视频| proumb性欧美在线观看| 欧美精品一区在线发布| 黄色小网站在线观看| 精品人伦一区二区三区蜜桃网站 | 欧美精品九九99久久| 蜜臀av粉嫩av懂色av| 欧美日韩性在线观看| 欧美风情在线观看| 成人小视频在线播放| 国产成人午夜片在线观看高清观看| 国产精品视频500部| av中文资源在线| 午夜不卡av免费| 欧美性受xxxxxx黑人xyx性爽| 精品国产一区二区三区2021| 亚洲人成网站在线播| 久久中文字幕无码| 免费看精品久久片| 精品综合在线| 午夜小视频在线观看| 欧美亚洲国产一区二区三区va| av电影在线播放| 欧美精品尤物在线观看| 国外视频精品毛片| 99久久精品日本一区二区免费 | 国产精品电影一区二区三区| 亚洲午夜精品久久久久久人妖| 久久伊人影院| 中文字幕日韩精品有码视频| 日韩综合在线观看| av中文字幕一区| 日韩成人三级视频| 久久精品九色| 久久精品精品电影网| 一级片在线观看免费| 成人少妇影院yyyy| www.国产亚洲| 日本少妇精品亚洲第一区| 在线看av的网址| 国产99久久精品| 影音先锋亚洲视频| 欧美影视资讯| 日韩精品在线播放| 免费在线观看黄网站| 成人一区二区在线观看| 国产一级片91| 青草综合视频| 最近2019年手机中文字幕| www.色国产| 久久午夜羞羞影院免费观看| 无码精品a∨在线观看中文| 麻豆一区二区| 97色在线播放视频| 四虎精品一区二区三区| 偷拍一区二区三区四区| www.88av| 一区久久精品| 国产一区二区高清不卡| 成人免费高清观看| 亚洲国产精品国自产拍av秋霞| 久久久久久久中文字幕| av中文字幕不卡| www国产精品内射老熟女| 日韩超碰人人爽人人做人人添| 欧美亚洲国产视频| 免费在线观看一级毛片| 欧美系列在线观看| 91 在线视频| 国产91综合网| 国产乱子伦农村叉叉叉| 五月综合久久| 国产精品极品美女在线观看免费| 永久免费av在线| 欧美一区二区视频在线观看2022 | 在线一区二区三区四区五区 | 中文字幕一区三区| 欧美色图校园春色| 一本久久知道综合久久| 欧美一区三区二区在线观看| 91av一区| 操人视频在线观看欧美| 深爱激情五月婷婷| 欧美亚洲尤物久久| 欧美三级在线免费观看| av一区二区三区四区| 男女男精品视频站| 手机在线看片日韩| 亚洲欧美清纯在线制服| 日韩精品不卡| 久久久久久久久久久久电影| 91精品国产91久久久久久不卡| 国产三级视频在线播放线观看| 欧美日韩精品系列| 国产乡下妇女做爰视频| 国产香蕉久久精品综合网| 色91精品久久久久久久久| 影音先锋久久久| 亚洲五月六月| 图片婷婷一区| 97久草视频| yw.尤物在线精品视频| 九九九久久久久久| 天天干视频在线| 91精品国产综合久久福利| 欧美精品韩国精品| 欧美日韩国产精品一区二区不卡中文 | 精品黑人一区二区三区| 午夜久久福利影院| 午夜69成人做爰视频| 国产精品久久久久久久久动漫 | 国产成人鲁鲁免费视频a| 男女在线观看视频| 精品国产一区二区三区久久| jizzjizz在线观看| 亚洲石原莉奈一区二区在线观看| 日韩有码第一页| 亚洲成人黄色网| 午夜久久久久久久久久| 日韩一区和二区| 国产模特av私拍大尺度| 欧美夫妻性生活| 夜夜爽8888| 欧美久久久久久久久中文字幕| 中文字幕一区二区三区免费看| 91精品福利在线| 欧美视频xxxx| 欧美午夜精品理论片a级按摩| 在线免费观看av网址| 91国内精品野花午夜精品| 天天干,天天干| 欧美色图第一页| 中国精品一区二区| 欧美日高清视频| 国产又粗又黄又爽的视频| 欧美日韩成人一区| 国产精品无码免费播放| 欧美一区二区三区视频在线 | 国产精品18久久久久久vr| 亚洲国产日韩在线一区| 从欧美一区二区三区| 污片免费在线观看| 久久这里只有精品视频网| 四虎影成人精品a片| 国产欧美日韩卡一| 男女性高潮免费网站| 一区二区国产视频| 亚洲黄色一区二区| 日本高清不卡一区| 亚洲天堂aaa| 日韩一区二区麻豆国产| 亚洲欧美激情国产综合久久久| 亚洲成人av在线播放| 欧美婷婷久久五月精品三区| 国产一区二区三区视频免费| 成人看av片| 7m第一福利500精品视频| 日韩欧美一区二区三区在线观看| 国产精品一区二区久久精品| 欧美一级片网址| 精品一区久久| 久久看人人摘| 成年人网站国产| 久久久综合网| 永久免费黄色片| 久久综合九色综合欧美98| 少妇视频一区二区| 午夜精品久久一牛影视| 天天干天天插天天射| 日韩一区二区精品在线观看| 四虎精品一区二区三区| 深夜福利国产精品| 好看的中文字幕在线播放| 日韩免费在线看| 麻豆久久一区| 日韩国产欧美精品| 欧美午夜国产| wwww.国产| 成人av网站免费| 日韩精品123区| 欧美午夜美女看片| av av片在线看| 国产亚洲精品va在线观看| 日本中文字幕中出在线| 国产精品青青在线观看爽香蕉 | 日韩成人av影视| 精品伦一区二区三区| 国产精品色婷婷久久58| 久久国产视频播放| 欧美一区二区三区四区高清| 国产系列在线观看| 久久全国免费视频| 国产精品高清一区二区| 欧美日韩国产三区| 亚洲欧美亚洲| 日本中文字幕高清| 99久久精品情趣| 免费人成在线观看| 欧美日韩一二三区| 久久精品色图| 国内精品模特av私拍在线观看| 91精品网站在线观看| 日韩欧美精品一区二区| 亚洲综合不卡| 高清中文字幕mv的电影| 亚洲欧美激情小说另类| 综合久久中文字幕| 亚洲视频国产视频| 综合久久2023| 玛丽玛丽电影原版免费观看1977| 黑丝一区二区| 国产老头和老头xxxx×| 中文字幕亚洲在| 中国一级片黄色一级片黄| 亚洲色图50p| 中文在线资源| 蜜桃91精品入口| 国产日韩欧美在线播放不卡| 欧洲熟妇的性久久久久久| 亚洲综合一二区| 亚洲美女福利视频| 蜜月aⅴ免费一区二区三区| www.成人在线.com| 香蕉视频免费版| 国产一区高清在线| 日韩国产第一页| 在线不卡一区二区| av在线app| 成人在线免费网站| 黄色成人在线网址| 国产麻豆剧传媒精品国产av| 五月天久久比比资源色| 手机福利在线| 青青在线视频一区二区三区| 精品一区毛片| 日本激情综合网| 亚洲同性同志一二三专区| 国产av无码专区亚洲av| 欧美日本亚洲视频| jizz国产精品| 黄色一级视频在线播放| 91农村精品一区二区在线| 无码日韩精品一区二区| 在线亚洲男人天堂| 久久久久久爱| av女优在线播放| 波多野结衣一区二区三区| 亚洲国产成人无码av在线| 亚洲夜晚福利在线观看| 精品176极品一区| 久久最新免费视频| 国产91富婆露脸刺激对白| 日本在线播放视频| 一区二区三欧美| 91精品一区| 亚洲精品天堂成人片av在线播放| 成人av电影在线| 亚洲综合成人av| 久久国产精品网站| 欧美三级电影在线| 少妇一级淫免费放| 亚洲综合一二三区| 高清av在线| 成人av影视在线| 久久精品国产清高在天天线| 三级黄色录像视频| 亚洲第一福利网站| 欧美日韩精品免费观看视欧美高清免费大片 | 中文字幕中文在线| 天天综合网 天天综合色| wwwxxx在线观看| 96成人在线视频| 视频在线观看一区| 久久久国产精品人人片| 亚洲欧美日韩国产精品| 精品视频一区二区三区| 妺妺窝人体色www在线小说| 国产精品人成在线观看免费| 免费看日韩av| 成人xxxxx| 久久久精品性| 久久国产免费观看| 中文字幕欧美日韩va免费视频|