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

史上最糟糕的兩個變量名

開發 后端
作為一個程序員,“起名字”是他們工作中非常重要的一部分。Phil Karlton就說過:“在計算機科學領域,有兩大難題,如何驗證緩存和如何給各種東西命名。”雖然很難,但是每次在寫代碼的時候,給事物起名字又是不可 回避的工作。無論是程序變量名還是數據庫表名或者是表里的列名,甚至是文件系統中的文件名,以及你的項目名稱、產品名稱,給這些東西起名字可不是個輕松活 兒。

作為一個程序員,“起名字”是他們工作中非常重要的一部分。Phil Karlton就說過:“在計算機科學領域,有兩大難題,如何驗證緩存和如何給各種東西命名。”雖然很難,但是每次在寫代碼的時候,給事物起名字又是不可 回避的工作。無論是程序變量名還是數據庫表名或者是表里的列名,甚至是文件系統中的文件名,以及你的項目名稱、產品名稱,給這些東西起名字可不是個輕松活 兒。

糟糕的命名方式隨處可見。你會發現,有的變量名字起得太短,根本沒法提供足夠的描述信息。或許有這個問題的人都做過 TRS-80 BASIC程序員,在這種BASIC語言里,無論你起多長的變量名,只有名字的頭兩個字母有效,所以那個時候的程序員不得不在鍵盤邊兒上放個筆記本,以便 將很短的變量名稱和他們的對應含義記錄下來,這樣才能不搞混淆。

 

[[132162]]

有的時候,你會發現這樣的命名方法:直接將變量名稱中的原音字母省略,以此來縮短變量的長度。這種方法被用來替代常用的 “截斷法”,也就是簡單地把字母截斷來縮短長度。比如你可以用$cstmr(原音省略)來代替$cust(直接截斷). 但是,對于customers(顧客)和costumers(服裝提供商)這兩個單詞來說,原音省略法就會造成混淆(customers和 costumers采用原音省略法,其結果都是cstmr)。更糟糕的是,$cstmr缺乏原音字母,打字的時候會更加別扭,而且從讀音的角度來說,也很 難對其進行發音。

還有一種人為的特殊命名方式,有的時候程序的作者只是為了小幽一默,所以起了些有趣的名字。我就曾經見到過有人把循環變 量命名為$crap (crap在英語里是輕微的咒罵,跟damm,shit這種詞語差不多——譯者注),我的一個同事告訴我,他在給一段代碼做整理的時 候,看到過有個函數被命名為:THE_LONE_RANGER_RIDES_AGAIN()。雖然這樣的命名方式非常特殊,但是他們并不屬于我說的“糟 糕”的命名的范疇。

雖然我很清楚,對于命名規范這種事情,大家是公說公有理,婆說婆有理,但是,我還是非常自信地宣布,我認為,史上最糟糕的命名是:$data!

是的!必須是$data! 這個命名完全是循環定義,實際上就是一句廢話。就仿佛你把你們家所有的東西都扔到一個行李箱里,然后在行李箱上面貼個條,赫然寫著:“東西”

正確變量命名應該寫清楚變量的數據類型。因此在命名是考慮數據類型是一個很好的提升命名質量的辦法。我有一次在看一段讀數據庫表記錄的代碼時,看到了$data這個名字,大概像下面這樣:

  1. $data = read_record();

  2. print "ID = ", $data["CUSTOMER_ID"];

模糊的命名相當糟糕,糟糕程度緊隨其后的就是,長得幾乎一樣,無法分辨的變量名。因此,有史以來第二糟糕的變量名就是: $data2.如果這時候問問:“$data是什么數據類型呢?”,然后你就很想給它換個名字了。把名字改成$record是一個好的開始。進一步改成$custormer_record,就更好一些了。

總的來說,任何僅僅依靠數字編號來區分的變量名都應該被重構。馬上舉個例子給你看,你就明白了:

  1. $total = $price * $qty;

  2. $total2 = $total - $discount;

  3. $total2 += $total2 * $taxrate;

  4. $total3 = $purchase_order_value + $available_credit;

  5. if ( $total2 < $total3 ) {

  6. print "You can't afford this order.";

  7. }

你可以發現,要讀懂這個代碼就跟讀甲骨文一樣痛苦。很明顯,這個程序的目的就是要計算訂單的總花費,$total. 如果程序的邏輯沒有問題,那么$total這個變量名也算是恰如其分。但是,偏偏有人修改了這個程序,給添加了計算折扣和稅率的功能,然后他還在變量命名 上偷懶,直接起了個$total2, 更可恨的是,還有其他人在這個程序里計算了用戶的可用賬戶金額,然后直接起名叫$total3!

真正倒霉催的是下面這行代碼:

  1. if ( $total2 < $total3 )

如果你看到了類似像$total2這樣的變量,那就應該把這個名字改得更加具體一些。花5分鐘的時間讓這些變量名稱變得 更加合理。這個層面上的軟件重構是最簡單,代價最小,也是最安全的,尤其是在你要修改的變量是個局部變量的時候。如果你不回頭看之前的代碼,要想知道這句 代碼的意義是完全不可能的。所以你必須往回閱讀,看看哪個變量究竟是什么意思。

讓我們用最簡單的“搜索-替換”功能來解決我們之前發現的問題

  1. $order_total = $price * $qty;

  2. $payable_total = $order_total - $discount;

  3. $payable_total += $payable_total * $taxrate;

  4. $available_funds = $purchase_order_value + $available_credit;

  5. if ( $payable_total < $available_funds ) {

  6. print "You can't afford this order.";

  7. }

經過修改后,唯一變化的就是變量名,而且代碼變得簡單易懂了。現在對于每個_total,就不存在二義性的問題了。看看我們發現了什么:原先if語句中的兩個比較變量的位置寫反了。有效的命名方法讓我們能夠更快地發現錯誤。

通常,我們都認為用數字作為變量的結尾是不好的命名方法,但是有一個例外。如果變量描述的實體本身就是以數字結尾的,那變量名***也是以數字結尾。比如,如果我們要定義一個SHA-1哈希實體,那干脆就把它命名為$sha1,這樣就很好,你完全沒有必要把它搞成$sha_one,然后來避免在變量名中使用數字。

在我完成了對本文的***版后,我創立了自己的命名規則,并使用Perl::Critic包來檢測上述提到的兩種命名問題。我制作的插件 Perl::Critic::Bangs 可以檢測出這兩種問題:ProhibitVagueNames 和 ProhibitNumberNames.

還有哪些其他的糟糕的命名方法逼得你發瘋?你自己有去做些什么糾正這些錯誤么?

原文:http://petdance.com/2012/04/the-worlds-two-worst-variable-names/
譯文:http://blog.jobbole.com/18304/

責任編輯:王雪燕 來源: 伯樂在線
相關推薦

2012-08-08 09:12:01

程序員

2013-01-06 17:40:10

GitHub宕機事故

2012-12-28 09:47:07

程序員代碼編程

2013-09-29 13:40:21

項目

2014-07-15 11:10:01

面試題面試

2023-07-18 15:56:05

2021-11-12 23:41:27

Windows 11Windows微軟

2013-09-16 11:12:51

編程環境開發

2009-05-07 09:02:15

思科錢伯斯營收

2022-04-28 23:27:08

人工智能機器學習工具

2020-05-13 17:15:49

CPUPC處理器

2018-08-14 15:13:36

CPU驍龍810奔3

2009-11-30 09:16:30

Windows 7電池續航

2009-12-22 15:27:58

Gartner

2017-12-21 05:24:41

2022-05-28 12:33:17

谷歌項目經理領導者

2010-12-10 14:37:01

PHP可變變量名

2021-05-25 05:48:13

信息安全勒索軟件網絡攻擊

2017-12-20 09:55:16

2021-01-13 15:19:27

Python中文變量
點贊
收藏

51CTO技術棧公眾號

欧美一区二区三区四区高清| 国产精品美女视频| 欧美中文字幕视频| 亚洲自拍偷拍图| 精品美女一区| 亚洲一级片在线观看| 久久久影院一区二区三区| 中文字幕在线观看高清| 欧美在线资源| 亚洲片av在线| 在线观看视频你懂得| 最新欧美色图| 亚洲精品写真福利| 欧美色欧美亚洲另类七区| 97超碰中文字幕| 国产精品美女久久久浪潮软件| 中文字幕欧美日韩在线| 美女网站视频在线观看| 成人精品国产| 精品久久久久久久久久久久| 中文字幕一区二区三区有限公司| 人人妻人人澡人人爽精品日本| 日韩二区在线观看| 97国产精品久久| 999精品在线视频| 九色精品国产蝌蚪| 亚洲大尺度美女在线| 在线播放av中文字幕| 欧美××××黑人××性爽| 亚洲综合激情网| 亚洲欧美在线网| 日韩av视屏| 成人综合婷婷国产精品久久| 国产欧美日韩中文字幕| 久久国产黄色片| 狠狠色丁香久久综合频道| 日韩亚洲欧美中文高清在线| 人人妻人人藻人人爽欧美一区| 日韩欧美中文在线观看| 欧美日韩精品福利| 一区二区三区视频在线观看免费| 性欧美18~19sex高清播放| 亚洲aaa精品| 精品一区二区三区无码视频| 一级毛片视频在线| 国产拍欧美日韩视频二区| 麻豆精品蜜桃一区二区三区| 色窝窝无码一区二区三区成人网站| 国产乱妇无码大片在线观看| 91精品国产综合久久久久久久久| 伊人久久亚洲综合| 蜜桃一区二区三区在线观看| 国产第一区电影| 亚洲高清在线看| 日韩主播视频在线| 国产激情综合五月久久| 精产国品一区二区| 日本va欧美va瓶| 国产精品久久久久久搜索| 午夜精品一区二| 日韩av一级片| 国产中文欧美精品| 国产视频一二三四区| 国产成人av福利| 岛国一区二区三区高清视频| 亚洲伦理在线观看| 成人久久视频在线观看| 精品欧美一区二区精品久久| 欧美一级在线免费观看| 91在线视频播放地址| 欧美污视频久久久| 91在线导航| 亚洲男人都懂的| av高清在线免费观看| 中文字幕在线直播| 欧美色区777第一页| 涩涩网站在线看| 精品一区二区三区中文字幕在线| 日韩一区二区三区四区五区六区| 亚洲性图第一页| 欧美成人基地| 在线日韩中文字幕| 欧美成人综合色| 国产婷婷精品| 国产一区欧美二区三区| 亚洲国产日韩在线观看| 91麻豆文化传媒在线观看| 日韩免费三级| 91精选在线| 黑人精品xxx一区一二区| 一级片视频免费观看| 香蕉免费一区二区三区在线观看| 日韩成人久久久| 美国美女黄色片| 欧美69视频| 国产精品∨欧美精品v日韩精品| 11024精品一区二区三区日韩| 国产91精品久久久久久久网曝门 | 青青视频在线播放| 色诱色偷偷久久综合| 亚洲精品一线二线三线无人区| av网站免费在线播放| 91综合久久| 18性欧美xxxⅹ性满足| 中文字幕无线码一区| 成人v精品蜜桃久久一区| 亚洲欧洲国产日韩精品| 国产白丝在线观看| 欧美精品国产精品| mm131美女视频| 欧美日韩综合| 国产精品吴梦梦| 日本人妖在线| 亚洲影视在线观看| 国产精品视频中文字幕| 神马日本精品| 欧美激情精品久久久久久免费印度| 亚洲成人av网址| 99久久精品一区| 欧美人与动牲交xxxxbbbb| 欧美美女福利视频| 亚洲色图日韩av| 人人干人人干人人干| 国产精品影音先锋| 伊人久久99| 春暖花开亚洲一区二区三区| 亚洲精品v欧美精品v日韩精品| 少妇被躁爽到高潮无码文| 日韩国产精品久久久| 欧美成人一区二区在线| av在线网页| 欧美变态凌虐bdsm| 欧美一区免费观看| 久久99精品久久久久久动态图 | 欧美 变态 另类 人妖| 中文字幕亚洲精品乱码| 国产日韩欧美夫妻视频在线观看| 黄色片在线免费看| 欧美视频不卡中文| 欧美丰满少妇人妻精品| 一区二区日韩免费看| 国产丝袜不卡| heyzo中文字幕在线| 精品精品国产高清a毛片牛牛| 一区二区三区四区五区| 紧缚奴在线一区二区三区| 亚洲在线不卡| 色婷婷成人网| 久久国产视频网站| 99精品免费观看| 亚洲一区二区三区视频在线播放| 香蕉视频在线观看黄| 欧美久久视频| 国产精品国产亚洲精品看不卡15| 青春草视频在线| 欧美精品一区男女天堂| 天堂网av手机版| 久久久影视传媒| 免费观看日韩毛片| 西野翔中文久久精品字幕| 日韩免费精品视频| 岛国大片在线观看| 欧美男同性恋视频网站| 日韩黄色免费观看| 岛国精品一区二区| 97国产精东麻豆人妻电影| 要久久爱电视剧全集完整观看| 日本成熟性欧美| 91在线看黄| 日韩美一区二区三区| 日本三级视频在线| 久久日韩粉嫩一区二区三区| 天堂av在线网站| 欧美一区激情| 久草精品电影| 日本一区免费网站| 欧美不卡视频一区发布| 欧美一区二区在线观看视频| 欧美性色19p| 免费观看特级毛片| 国产成人在线视频网站| 国产视频一视频二| 欧美日一区二区| 91免费在线视频网站| 99re6在线精品视频免费播放| 亚洲人a成www在线影院| 一级片视频免费| 亚洲国产va精品久久久不卡综合| 欧美色图亚洲激情| 极品少妇xxxx精品少妇| 日本一区午夜艳熟免费| 精品视频黄色| 成人欧美一区二区| 成人视屏在线观看| 美女少妇精品视频| 日中文字幕在线| 日韩一级片网站| 午夜精品免费观看| 亚洲综合色在线| 少妇无套高潮一二三区| 丁香婷婷深情五月亚洲| 啊啊啊国产视频| 日韩亚洲国产欧美| 免费看av软件| 欧美欧美黄在线二区| 99国产高清| 国产亚洲精彩久久| 欧美有码在线观看视频| 色爱综合区网| 中文字幕精品国产| 九色蝌蚪在线| 亚洲福利精品在线| 国产视频www| 欧美日韩国产综合久久 | 国产激情在线观看| 亚洲欧美日韩中文在线| 亚洲AV无码成人片在线观看 | 欧美日韩一二| 精品久久精品久久| 亚洲成人1区| 日本国产一区二区三区| 国产又色又爽又黄刺激在线视频| 一本色道久久综合亚洲精品小说| 涩涩视频免费看| 欧美成人一区二区三区在线观看| 一级片视频免费| 91久久久免费一区二区| 天天爽夜夜爽夜夜爽精品| 亚洲一区二区三区激情| 曰本女人与公拘交酡| 国产精品麻豆久久久| 中文字幕网站在线观看| 91免费国产在线| 免费黄色三级网站| 粉嫩av一区二区三区粉嫩| 日韩精品aaa| 久久精品72免费观看| 免费黄色一级网站| 免费永久网站黄欧美| 日韩av在线第一页| 国产日韩欧美一区在线| 草b视频在线观看| 欧美日韩国产成人精品| 四虎精品欧美一区二区免费| 91超碰成人| 久久国产精品免费观看| 亚洲第一天堂| 国产经典久久久| 国内精品嫩模av私拍在线观看| 人妻无码一区二区三区四区| 欧美在线亚洲| 六月婷婷在线视频| 国产日本精品| 欧美激情精品久久久久久小说| 久久综合婷婷| 欧美特级aaa| 狠狠久久亚洲欧美| 奇米777在线| 国产91精品久久久久久久网曝门| 免费观看污网站| 91原创在线视频| 在线国产视频一区| 中文字幕在线免费不卡| 黄色精品视频在线观看| 中文字幕在线一区| 九九视频免费观看| 精品美女国产在线| 亚洲国产成人无码av在线| 色播五月激情综合网| 亚洲一区在线观| 日韩一级精品视频在线观看| 亚洲av无码一区二区三区性色 | 国产在线视频91| 一区二区三区四区视频免费观看| 97超碰资源| 日本成人7777| 亚洲欧美电影在线观看| 欧美精品18| 日本精品一区二区三区四区| 日韩福利电影在线观看| gogo亚洲国模私拍人体| 91亚洲午夜精品久久久久久| 一级在线观看视频| 亚洲综合999| 黄色片视频免费| 日韩欧美在线网站| 免费黄色在线视频网站| 久久精品人人爽| 天堂√中文最新版在线| 国产在线一区二区三区| 久久国产精品色av免费看| 日本一区二区在线视频观看| 久久美女视频| 国产黄色一级网站| 国产综合久久久久影院| 日韩av一二区| 亚洲伦在线观看| www.五月婷婷.com| 亚洲第一视频网| 黄色网在线播放| 人体精品一二三区| 999精品视频在这里| 亚欧精品在线| 一区二区三区国产在线| 午夜大片在线观看| 欧美极品少妇xxxxⅹ高跟鞋| 国产性70yerg老太| 欧美老肥妇做.爰bbww| 男人的天堂av高清在线| 精品中文字幕乱| 日韩美香港a一级毛片| 麻豆av一区二区三区| 欧美特黄一级| 在线观看免费av网址| 久久久影视传媒| 欧美亚韩一区二区三区| 日韩网站在线看片你懂的| 福利成人在线观看| 欧美制服第一页| 99久久久久国产精品| 国产精品又粗又长| 国产精品综合在线视频| 久久精品国产亚洲av麻豆| 亚洲一区自拍偷拍| 国产农村妇女毛片精品| 国产一区二区三区视频| 国产99在线观看| 91精品国产高清久久久久久91裸体| 欧美一级精品| 亚洲综合在线网站| 91麻豆精品视频| 五月天婷婷综合网| 亚洲精品一区二区在线观看| 亚洲制服国产| 亚洲一区二区免费在线| 欧美jizz| 亚洲精品mv在线观看| 国产精品成人午夜| 国产一区二区视频免费观看 | 国产精品久久久久久久久久免费| 欧美日韩导航| www国产精品内射老熟女| 99在线精品一区二区三区| 香蕉视频一区二区| 亚洲成人激情视频| 国产免费拔擦拔擦8x在线播放| 国产精品综合久久久久久| 激情综合久久| 北京富婆泄欲对白| 午夜婷婷国产麻豆精品| 蜜臀久久99精品久久久| 国a精品视频大全| 开心激情综合| 一本大道熟女人妻中文字幕在线| 91丨porny丨在线| 波多野结衣高清在线| 在线视频欧美日韩精品| 精品176极品一区| 日本丰满大乳奶| 成人性生交大片免费| 日韩欧美性视频| 精品一区二区三区电影| 国产精品字幕| 日本丰满少妇黄大片在线观看| 丁香激情综合国产| 国产性猛交╳xxx乱大交| 国产亚洲精品久久久优势| 久久69成人| www.激情网| 久久香蕉国产线看观看99| 奴色虐av一区二区三区| 日日噜噜噜夜夜爽亚洲精品| 经典三级久久| 男女猛烈激情xx00免费视频| 久久久另类综合| 一级特黄aaa| 欧美第一黄色网| 久久99性xxx老妇胖精品| 黄大色黄女片18第一次| 亚洲一区中文日韩| 国产51人人成人人人人爽色哟哟| 成人黄色av网| 亚洲美女黄网| 欧美aaa级片| 亚洲成人黄色在线| 日韩成人在线一区| 精品无码国模私拍视频| 亚洲国产精品v| 欧美一级淫片aaaaaa| 国产精品视频免费在线观看| 欧美片第1页综合| 夜夜春很很躁夜夜躁| 日韩小视频在线观看专区| 亚洲国产欧美日本视频| 日本成人在线不卡| 国产亚洲精品久| 人妻无码中文字幕| 91天堂在线观看| 久久精品系列| 久久精品视频久久|