那些驚爲天人的變量名,真是奇葩!

來源:麥叔編程
作者:小K

前言

一個好的變量名能讓讀代碼的人(包括寫的人),身心舒暢,但一個“奇葩”的變量名可能會逼瘋一個程序員。

今天是奇葩變量名大賞

正文

注:以下素材均採集自網絡

先上場的是某企業機房的門牌:

我猜這個主任可能是個胡建人。

推薦一個開源免費的 Spring Boot 實戰項目:

https://github.com/javastacks/spring-boot-best-practice

第二位選手來自國內大廠-- 阿里:

正因爲這個報錯信息中的UnionPay,導致隔壁銀聯的客服電話被打爆!

但實際上,這個開發想表達的意思是合併訂單支付時的報錯,但由於...

“合併支付”的英文是“combined payment”,出現這個問題是因爲淘寶工程師不認識combined這個單詞。

自帶混淆功能的變量名

這是什麼?亂碼嗎?

公佈正確答案:

這又是什麼?菜譜嗎?

public String calculateTomAndJerryHappyTogetherTotalTimeAndReturnToThePreviousLevel(){

}

我以爲你是段冗餘代碼:

xxxxxx = "網絡操作維護中心(主任室)" # 消息詳細信息

我寧願使用中文變量名

C語言選手:

int deit; //deit -> date
int riqi; //riqi -> 日期

求求你們,放過我吧。

lv = 0x33FF33

這位來自Python的選手的變量名至少讓我脫了100根頭髮,直到我在下文看到red = 0xFF0033,我才知道lv是指綠色!

求求學長不要使用拼音命名了!!!

鄙人早就耳聞了拼音命名法,也不過如此!

let JianCeNianDu = ...;
let NongTianChanLiang = ...;
let DiKuaiBinaMa = ...;
let FeiLiaoHanShuiLv = ...;

這樣也能接受吧~

let jianceniandu = ...;
let nongtianchanliang = ...;
let dikuaibianma = ...;
let feiliaohanshuilv = ...;

當看到實際的代碼:

let jcnd = ...;
let ntcl = ...;
let dkbm = ...;
let dkbm = ...;
let flhsl = ...;

漢字變量真是香

以前有個從銷售部門轉來的程序媛,可能因爲英語底子薄,所以一直用拼音命名法聲明變量:

class Dingdan {
  private String yuanliaomingcheng;
  private int chanpinshuliang;
  private double chanpinjiage;
  private long chanpinxiaoliang;
  private int shifoushouchu;
}

後來開發老大忍不了了,表示拼音看不懂,讓她以後使用中文作爲變量名。

此後,該程序媛的代碼就變成了這樣的:

class 訂單 {
  private String 原料名稱;
  private int 產品數量;
  private double 產品價格;
  private long 產品銷量;
  private int 是否售出;
}

拼音命名法不就少個聲調嗎?

這位選手爲變量加上了拼音的聲調(1234分別代表āáǎà),你們讀讀看吧~

如今大多數編程語言都支持Unicode標識符,用漢字總比用拼音甚至拼音縮寫好。

來自兜率宮的命名法

the_eight_divinatory_sybmol_000
the_eight_divinatory_sybmol_001
the_eight_divinatory_sybmol_010
the_eight_divinatory_sybmol_011
the_eight_divinatory_sybmol_100
the_eight_divinatory_sybmol_101
the_eight_divinatory_sybmol_110
the_eight_divinatory_sybmol_111

你們知道這都這代表了啥值嗎?

公佈正確答案:

the_eight_divinatory_sybmol_000 = "坤"
the_eight_divinatory_sybmol_001 = "震"
the_eight_divinatory_sybmol_010 = "坎"
the_eight_divinatory_sybmol_011 = "兌"
the_eight_divinatory_sybmol_100 = "艮"
the_eight_divinatory_sybmol_101 = "離"
the_eight_divinatory_sybmol_110 = "巽"
the_eight_divinatory_sybmol_111 = "乾"

好傢伙,這是八卦圖啊!

來自某遊戲開發的代碼。

此外,八卦圖還有另一種寫法:trigram_sun(乾),trigram_moon(坤),trigram_water(坎),trigram_fire(離),trigram_wind(巽),trigram_mountain(艮),trigram_thunder(震),trigram_marsh(兌)。

最後

通過今天的文章,大家都學廢如何聲明變量了嗎?

你們還見過哪些驚爲天人的變量名,一起分享出來,讓我們大家都學習(開心)一下。

近期熱文推薦:

1.1,000+ 道 Java面試題及答案整理(2022最新版)

2.勁爆!Java 協程要來了。。。

3.Spring Boot 2.x 教程,太全了!

4.別再寫滿屏的爆爆爆炸類了,試試裝飾器模式,這纔是優雅的方式!!

5.《Java開發手冊(嵩山版)》最新發布,速速下載!

覺得不錯,別忘了隨手點贊+轉發哦!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章