那些惊为天人的变量名!

共 3788字,需浏览 8分钟

 ·

2023-08-11 17:37














架构师大咖

架构师大咖,打造有价值的架构师交流平台。分享架构师干货、教程、课程、资讯。架构师大咖,每日推送。







公众号







来源:麦叔编程

作者:小K


前言


一个好的变量名能让读代码的人(包括写的人),身心舒畅,但一个“奇葩”的变量名可能会逼疯一个程序员。


今天是奇葩变量名大赏


正文


(注:以下素材均采集自网络


先上场的是某企业机房的门牌:






我猜这个主任可能是个胡建人。



第二位选手来自国内大厂-- 阿里:





正因为这个报错信息中的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(兑)。



最后


通过今天的文章,大家都学废如何声明变量了吗?


你们还见过哪些惊为天人的变量名,一起分享出来,让我们大家都学习(开心)一下。


- END -













Python入门到精通

Python入门到精通:人生苦短,我用Python!Python每日推送、Python教程、Python资料、Python视频、Python项目、Python学习等。







公众号










浏览 792
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报