那些惊为天人的变量名,真是奇葩!

打印 上一主题 下一主题

主题 907|帖子 907|积分 2723

来源:麦叔编程
作者:小K
前言

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

注:以下素材均采集自网络
先上场的是某企业机房的门牌:

我猜这个主任可能是个胡建人。
推荐一个开源免费的 Spring Boot 实战项目:
https://github.com/javastacks/spring-boot-best-practice
第二位选手来自国内大厂-- 阿里:


正因为这个报错信息中的UnionPay,导致隔壁银联的客服电话被打爆!

但实际上,这个开发想表达的意思是合并订单支付时的报错,但由于...
“合并支付”的英文是“combined payment”,出现这个问题是因为淘宝工程师不认识combined这个单词。
自带混淆功能的变量名


这是什么?乱码吗?
公布正确答案:

这又是什么?菜谱吗?
  1. public String calculateTomAndJerryHappyTogetherTotalTimeAndReturnToThePreviousLevel(){
  2. }
复制代码
我以为你是段冗余代码:
  1. xxxxxx = "网络操作维护中心(主任室)" # 消息详细信息
复制代码
我宁愿使用中文变量名

C语言选手:
  1. int deit; //deit -> date
  2. int riqi; //riqi -> 日期
复制代码
求求你们,放过我吧。
  1. lv = 0x33FF33
复制代码
这位来自Python的选手的变量名至少让我脱了100根头发,直到我在下文看到red = 0xFF0033,我才知道lv是指绿色!

求求学长不要使用拼音命名了!!!

鄙人早就耳闻了拼音命名法,也不过如此!
  1. let JianCeNianDu = ...;
  2. let NongTianChanLiang = ...;
  3. let DiKuaiBinaMa = ...;
  4. let FeiLiaoHanShuiLv = ...;
复制代码
这样也能接受吧~
  1. let jianceniandu = ...;
  2. let nongtianchanliang = ...;
  3. let dikuaibianma = ...;
  4. let feiliaohanshuilv = ...;
复制代码
当看到实际的代码:
  1. let jcnd = ...;
  2. let ntcl = ...;
  3. let dkbm = ...;
  4. let dkbm = ...;
  5. let flhsl = ...;
复制代码

汉字变量真是香

以前有个从销售部门转来的程序媛,可能因为英语底子薄,所以一直用拼音命名法声明变量:
  1. class Dingdan {
  2.   private String yuanliaomingcheng;
  3.   private int chanpinshuliang;
  4.   private double chanpinjiage;
  5.   private long chanpinxiaoliang;
  6.   private int shifoushouchu;
  7. }
复制代码
后来开发老大忍不了了,表示拼音看不懂,让她以后使用中文作为变量名。
此后,该程序媛的代码就变成了这样的:
  1. class 订单 {
  2.   private String 原料名称;
  3.   private int 产品数量;
  4.   private double 产品价格;
  5.   private long 产品销量;
  6.   private int 是否售出;
  7. }
复制代码
拼音命名法不就少个声调吗?

这位选手为变量加上了拼音的声调(1234分别代表āáǎà),你们读读看吧~

如今大多数编程语言都支持Unicode标识符,用汉字总比用拼音甚至拼音缩写好。
来自兜率宫的命名法
  1. the_eight_divinatory_sybmol_000
  2. the_eight_divinatory_sybmol_001
  3. the_eight_divinatory_sybmol_010
  4. the_eight_divinatory_sybmol_011
  5. the_eight_divinatory_sybmol_100
  6. the_eight_divinatory_sybmol_101
  7. the_eight_divinatory_sybmol_110
  8. the_eight_divinatory_sybmol_111
复制代码
你们知道这都这代表了啥值吗?
公布正确答案:
  1. the_eight_divinatory_sybmol_000 = "坤"
  2. the_eight_divinatory_sybmol_001 = "震"
  3. the_eight_divinatory_sybmol_010 = "坎"
  4. the_eight_divinatory_sybmol_011 = "兑"
  5. the_eight_divinatory_sybmol_100 = "艮"
  6. the_eight_divinatory_sybmol_101 = "离"
  7. the_eight_divinatory_sybmol_110 = "巽"
  8. 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开发手册(嵩山版)》最新发布,速速下载!
觉得不错,别忘了随手点赞+转发哦!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

南七星之家

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表