各种奇葩变量名合集

简介: 一个好的变量名能让读代码的人(包括写的人),身心舒畅,但一个“奇葩”的变量名可能会逼疯一个程序员。今天是各种各样的奇葩变量名大赏!!!!!!在编程过程中,好的变量命名是非常重要的。一个好的变量名能够清晰地表达变量的含义和作用,从而提高代码的可读性和可维护性。然而,有些时候,由于种种原因,开发者会使用一些非常奇特或者奇葩的变量名。本文将总结一些常见的奇葩变量名,并分析其原因和可能的改进方法。

 其他系列文章导航

Java基础合集

数据结构与算法合集

设计模式合集

多线程合集

分布式合集

ES合集


文章目录

其他系列文章导航

文章目录

前言

一、各种场景

1.1 某企业机房的门牌

1.2 阿里

1.3 自带混淆功能的变量名

1.4 中文变量名

1.5 拼音命名

1.6 汉字变量

1.7 拼音命名法加声调

1.8 兜率宫的命名法

二、总结

2.1 奇葩变量名的例子

2.2 原因分析

2.3 改进方法


前言

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

今天是各种各样的奇葩变量名大赏!!!!!!


一、各种场景

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

1.1 某企业机房的门牌

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

image.gif编辑

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

1.2 阿里

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

image.gif编辑

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

image.gif编辑

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

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

1.3 自带混淆功能的变量名

image.gif编辑

这是什么?乱码吗?

公布正确答案:

image.gif编辑

这又是什么?菜谱吗?

public String calculateTomAndJerryHappyTogetherTotalTimeAndReturnToThePreviousLevel(){
}

image.gif

我以为你是段冗余代码:

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

image.gif

1.4 中文变量名

我宁愿使用中文变量名。

C语言选手:

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

image.gif

求求你们,放过我吧。

lv = 0x33FF33

image.gif

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

1.5 拼音命名

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

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

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

image.gif

这样也能接受吧~

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

image.gif

当看到实际的代码:

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

image.gif

1.6 汉字变量

汉字变量真是香。

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

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

image.gif

后来开发老大忍不了了,表示拼音看不懂,让她以后使用中文作为变量名。

此后,该程序媛的代码就变成了这样的:

class 订单 {
  private String 原料名称;
  private int 产品数量;
  private double 产品价格;
  private long 产品销量;
  private int 是否售出;
}

image.gif

1.7 拼音命名法加声调

拼音命名法不就少个声调吗?

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

image.gif编辑

如今大多数编程语言都支持Unicode标识符,用汉字总比用拼音甚至拼音缩写好。

1.8 兜率宫的命名法

来自兜率宫的命名法。

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

image.gif

你们知道这都这代表了啥值吗?

公布正确答案:

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 = "乾"

image.gif

好家伙,这是八卦图啊!

image.gif编辑

来自某游戏开发的代码。

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


二、总结

在编程过程中,好的变量命名是非常重要的。一个好的变量名能够清晰地表达变量的含义和作用,从而提高代码的可读性和可维护性。然而,有些时候,由于种种原因,开发者会使用一些非常奇特或者奇葩的变量名。本文将总结一些常见的奇葩变量名,并分析其原因和可能的改进方法。

2.1 奇葩变量名的例子

    1. 英文单词拼写错误型:例如,将“color”拼写为“clor”,或将“variable”拼写为“varibale”。
    2. 随意缩写型:例如,将“computer”缩写为“comp”,或将“information”缩写为“info”。
    3. 随意造词型:例如,“x1”,“y2”,“z3”,或者使用字母和数字的组合,如“a1”,“b2”,“c3”。
    4. 单词混淆型:例如,“string”和“integer”,或者“sum”和“total”。
    5. 使用下划线型:例如,“_1”,“_2”,“_3”。
    6. 使用特殊字符型:例如,“@”,“#”,“$”。
    7. 使用中文字符型:例如,“颜色”,“信息”,“用户名”。
    8. 使用表情符号型:例如,“😂”,“😁”,“🔥”。

    2.2 原因分析

      1. 英语水平有限:对于一些开发者来说,使用英文单词可能会有些困难,因此他们可能会选择拼写错误的单词或者使用缩写。
      2. 追求简洁:一些开发者可能认为使用缩写或者简短的变量名可以使代码更加简洁。然而,过度追求简洁可能会导致代码的可读性降低。
      3. 缺乏命名规范:有些开发者可能没有接受过良好的编程规范培训,或者他们可能不知道应该遵循哪些命名规范。这可能会导致他们使用一些奇特的变量名。
      4. 创新过度:一些开发者可能想要通过使用独特的变量名来显示他们的创新精神。然而,过度创新可能会导致代码难以理解和维护。
      5. 缺乏责任感:有些开发者可能认为代码的可读性不重要,因此他们可能会使用任何他们认为合适的变量名。

      2.3 改进方法

        1. 提高英语水平:对于那些因为英语水平有限而使用奇葩变量名的开发者,他们可以通过学习英语单词的拼写和用法来提高自己的英语水平。此外,他们也可以使用翻译工具来帮助自己理解并使用正确的英文单词。
        2. 遵循命名规范:开发者应该遵循通用的命名规范,例如驼峰命名法(Camel Case),以使得他们的代码更加易于阅读和理解。此外,他们也应该避免使用具有多种含义或者容易产生歧义的单词或者缩写。
        3. 使用代码审查:在开发过程中,代码审查是一个非常重要的环节。通过代码审查,开发者可以发现并纠正那些使用了奇葩变量名的代码。此外,代码审查也可以帮助开发者学习并遵循更好的命名规范。
        4. 接受编程规范培训:开发者应该接受良好的编程规范培训,以了解并遵循最佳的编程实践。这可以帮助他们避免使用奇葩变量名,并提高他们代码的可读性和可维护性。
        5. 提高责任感:开发者应该认识到代码的可读性和可维护性是非常重要的。他们应该对自己的代码负责,并尽可能地使其易于阅读和理解。
        目录
        相关文章
        |
        3月前
        |
        Go
        一文搞懂:【转帖】SymbolEmotionsSticker英文符号表情大全
        一文搞懂:【转帖】SymbolEmotionsSticker英文符号表情大全
        20 0
        |
        4月前
        |
        人工智能 机器人 测试技术
        【C语言】C语言实现猜单词小游戏(源码+报告)【独一无二】
        【C语言】C语言实现猜单词小游戏(源码+报告)【独一无二】
        |
        存储
        用处巨广的操作符,快来学学叭(C语言版)
        用处巨广的操作符,快来学学叭(C语言版)
        62 1
        |
        10月前
        |
        C++
        《C++避坑神器·十二》函数返回值不能被赋值问题
        《C++避坑神器·十二》函数返回值不能被赋值问题
        59 0
        |
        10月前
        |
        前端开发 程序员 PHP
        程序员还在为变量取名苦恼,那是因为你不知道,这个变量命名神器
        程序员还在为变量取名苦恼,那是因为你不知道,这个变量命名神器
        167 0
        |
        存储 编译器 C++
        开心档之开发入门网-C++ 变量类型
        开心档之开发入门网-C++ 变量类型
        开心档之开发入门网-C++ 变量作用域
        开心档之开发入门网-C++ 变量作用域
        笔者记不住的一些注意事项和一些操作符的运用与君分享(基础C)
        笔者记不住的一些注意事项和一些操作符的运用与君分享(基础C)
        笔者记不住的一些注意事项和一些操作符的运用与君分享(基础C)
        |
        存储 前端开发 JavaScript
        带你读书之“红宝书”:第三章 语法基础(中)之 3.5操作符②
        带你读书之“红宝书”:第三章 语法基础(中)之 3.5操作符②
        89 0
        带你读书之“红宝书”:第三章 语法基础(中)之 3.5操作符②
        |
        前端开发 C语言
        带你读书之“红宝书”:第三章 语法基础(中)之 3.5操作符①
        带你读书之“红宝书”:第三章 语法基础(中)之 3.5操作符①
        66 0
        带你读书之“红宝书”:第三章 语法基础(中)之 3.5操作符①