那些惊为天人的变量名!

👉 这是一个或许对你有用的社群

🐱 一对一交流/面试小册/简历优化/求职解惑,欢迎加入「芋道快速开发平台」知识星球。下面是星球提供的部分资料: 

1a527d8af0a9d91c31135b8baf249f29.gif

👉这是一个或许对你有用的开源项目

国产 Star 破 10w+ 的开源项目,前端包括管理后台 + 微信小程序,后端支持单体和微服务架构。

功能涵盖 RBAC 权限、SaaS 多租户、数据权限、商城、支付、工作流、大屏报表、微信公众号等等功能:

  • Boot 地址:https://gitee.com/zhijiantianya/ruoyi-vue-pro

  • Cloud 地址:https://gitee.com/zhijiantianya/yudao-cloud

  • 视频教程:https://doc.iocoder.cn

来源:麦叔编程


前言

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

今天是奇葩变量名大赏

基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/ruoyi-vue-pro

  • 视频教程:https://doc.iocoder.cn/video/

正文

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

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

4a6cff378c09ae63eca0fe0eb03b9572.png

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

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

6eede035150644cd96f8b5ae592761eb.png

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

6e8132b47ab5f373d18da06e46e7e3d4.png

但实际上,这个开发想表达的意思是合并订单支付 时的报错,但由于...

“合并支付”的英文是“combined payment”,出现这个问题是因为淘宝工程师不认识combined这个单词。

自带混淆功能的变量名

8d428814f60e6ced3bd631f55af01c82.png

这是什么?乱码吗?

公布正确答案:

e17525e155333b687bb3132be9d0e239.png

这又是什么?菜谱 吗?

public String calculateTomAndJerryHappyTogetherTotalTimeAndReturnToThePreviousLevel(){

}

我以为你是段冗余代码:

xxxxxx = "网络操作维护中心(主任室)" # 消息详细信息

我宁愿使用中文变量名

C语言选手:

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

求求你们,放过我吧。

lv = 0x33FF33

这位来自Python的选手的变量名至少让我脱了100根头发,直到我在下文看到red = 0xFF0033,我才知道lv是指绿色!

de77dbd454a6caa3dfd6fc5ba1326bf6.png

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

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

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 = ...;
e76d44200ebcb10437d898fa02e62edb.png

汉字变量真是香

以前有个从销售部门转来的程序媛 ,可能因为英语底子薄,所以一直用拼音命名法 声明变量:

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分别代表āáǎà),你们读读看吧~

6a6a5b8779646f71775ea327d5a7ba25.png

如今大多数编程语言都支持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 = "乾"

好家伙,这是八卦图 啊!

62eca1513acf970cd0e3f3494729c761.png

来自某游戏开发的代码。

此外,八卦图 还有另一种写法:trigram_sun(乾),trigram_moon(坤),trigram_water(坎),trigram_fire(离),trigram_wind(巽),trigram_mountain(艮),trigram_thunder(震),trigram_marsh(兑)。

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/yudao-cloud

  • 视频教程:https://doc.iocoder.cn/video/

最后

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

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


欢迎加入我的知识星球,全面提升技术能力。

加入方式,长按下方二维码噢

262c62120a36e236fac6afb250882a15.jpeg

星球的内容包括:项目实战、面试招聘、源码解析、学习路线。

7a2c61d4a59d913c3510ae36e22166f3.png

a6ed09ad6c0277ca233253bf58af85ba.png469532c81f26f3b6bad9859025469c5a.png1f9664b30ac41ddcd65bd7069c983885.pngd3ae30efedea42bacf4a08331497f601.png

文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值