怎么看带有数字的变量命名?

文章标题、就是我最近一直在思考的问题,确实一直在困扰我。接下来就单方面的谈谈自己的一点看法。
不知道你在第一眼看到 我写的 我写的 我写的 这句代码(OC)的时候是什么感觉:

image.png

会不会感觉这个命名很屌丝,主要的原因是中间带了两个数字 00,结构就是 title + 00 + Label,翻译就是标题标签控件, 疑惑是为什么中间待两个莫名其妙的数字 00
那么问题来了,当别人第一次看到这样的代码时,会有什么的反应呢?换个方式来问:如果你看到别人这样写,你会有什么反应?
是不是,马上吐槽这代码真垃圾、真 low,等等负面印象。
其实我在思考这个问题的时候,我也在思考另外一个问题:当我们在写代码的时候,一定要写出别人一看就知道其真实含义的代码吗?

这个话题并非 凭空出世,是本周的时候,同事直接给截图说看不懂。我遇到这种情况,不会去问为什么看不懂,但是我清楚其意思就是:为啥要加数字。我只能回复:我调整一下。
因为我清楚他 看不懂 有两种情况:第一种情况是没有去我定义的地方看我的注释,第二种情况是去看了我的注释之后还是看不懂。不管是哪种情况都很难与他解释的。与其解释,还不如噼里啪啦的改一下。
我的备注是这样的:

image.png

看完注释,应该就更能明白我不解释的原因。因为我一直认为这样命名是没有什么问题,通过注释能看出这个命名(属性)是在一个基类中定义的,并且这个基类对我而言在整个项目中 95% 都是会使用到的。当时要将这个 titleLabel 的属性中间加 两个 00,正如注释所提示,防止子类中也需要再定义一个类似 标题 的控件, 故而中间添加两个 00 作为区分。
我在变量中添加数字作为命名的一部分,也担心别人误解,所以将注释写得这么详细。但是还是被说这样的代码看不懂,事情不大,但是带来的却是很多的思考,自己也更应该 自省
在实际的开发中,我是很反感使用待数字的命名的,但是有的时候确实是会使用一下。比如 2 与 8,2 可以代替 To、毕竟英文是 Two,读法一样。这个并非我首创,很多大神都在使用,比如闲鱼技术出品的 UI2Code。对于这个 8 估计是我的首创,8 与 & 很像、这个 & 在编程中有 And 的意思,所以在想使用 And 的时候,为了减少长度会直接选择使用 8 来代替。但是 2 与 8 这样的写法不到关键特殊情况,我是不会使用的。在一个项目中,最多出现三个地方。当然,上面提到 00 命名,在项目中仅出现两个,另一个是并行的 line00View, 所以就因为别人的一句看不懂,我也一起调整了。

那么、核心问题又来了:在开发中我们是否应该使用数字来作为命名的一部分? 其实每个程序员都很清楚,大家呼吁的不要使用数字作为变量的命名应该是这样的(为了获取 *TabBarController 中的tab 导航控制器,尽然定义了四个变量):

image.png

但是,有谁能想到:写这样代码的,尽然会说看不懂 title00Label

总之:在变量名中使用数字,风险性还是有的,建议尽量不要使用,除了让别人看不懂,应该很容易产生误导。

这个周末去北京晃荡了两天,今天(周日)在北京与小伙伴们小聚一下聊聊目前的现状。回到天津很累,但是不想睡觉,所以就来简书牢骚一下。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 大家晚上好,最近看到农村一直有些人来村里搞一些活动,就是每天在村里搞一些讲课的,是来的农村人都发一些小礼品,是村里...
    我叫徐建立阅读 1,441评论 0 4
  • 是姐姐不好,这一年里只是偶尔才想起你,是姐姐不好,清明节都没去看你。这晚是清明节你来了我的梦里,是你知道这段时间我...
    CYCW小幸运阅读 1,733评论 0 0
  • 起风了 我的四月 人间如此匆忙 春花开了又谢 蝉鸣唤来夏叶 繁星点亮长夜 静谧的午后 一切安好 风停了
    喑哑凛当阅读 1,256评论 0 0

友情链接更多精彩内容