关于java:那些惊为天人的变量名真是奇葩

7次阅读

共计 2302 个字符,预计需要花费 6 分钟才能阅读完成。

起源:麦叔编程 \
作者:小 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 开发手册(嵩山版)》最新公布,速速下载!

感觉不错,别忘了顺手点赞 + 转发哦!

正文完
 0