身无所拘,心无疆

取名的艺术

2019-12-31

程序员有两件最讨厌的事:

  • 给代码写注释
  • 给变量取名字

前言

看到同学们写的代码里,完全不注意变量命名,只管 a, b, c… 一路往后取名…然后还要我去看他们的代码的问题,我想死的心都有了……

前排提示:这套文章十分主观,绝大部分都来自于笔者自己的编码经验。所以,如果你不喜欢,那你来打我啊,反正我也不会改。

我一定要吐槽 STL 的命名方式,尤其是模版参数,什么一会儿用 _Tp, 一会儿用 __T, 一会儿又 __type; 其次,胡乱堆砌下划线,看起来就像是在屎山中刨屎

所以,我今天就要夏姬八讲(替天行道),教一教这些人怎么取名字。

名字有什么用?

你问👴有什么用?👴😂🌶️!👴不想跟你解释,快关了吧!

我永远无法叫醒一个装睡的人,如果你认为取好名字没有什么用,那就没什么用吧。这种东西,不是我举几个例子就能说服你的。

但我还是要尝试一下,请不看代码具体内容,直接看函数签名,你能告诉我这函数搞什么事吗?

1
2
3
4
5
6
7
8
int f(int *a, int b, int c) {
for (int i = 0; i < b; ++i) {
if (a[i] == c) {
return i;
}
}
return -1;
}

而且,在 IDE 中,以 CLion 为例子,代码提示只会提示函数签名。即你会看到这样的提示信息:

1
f(int *a, int b, int c)

现在你再去按住 Ctrl/Command 单击去看代码?看来你是完全不懂哦

懂…懂什麽啊…

还是原来的配方,把上面的代码稍微重构一下

1
2
3
4
5
6
7
8
int find_item(int *array, int length, int item) {
for (int i = 0; i < length; ++i) {
if (array[i] == item) {
return i;
}
}
return -1;
}

你摸着你的良心告诉我,你看着 find_item(int *array, int length, int item), 是不是不用再看具体代码?!

Whut?你说代码这么短,看一看也不影响?再见👋

Whut?你说代码都是你写的,你不可能不知道这玩意在干嘛?

天真!Naive!你可能不知道一句名言:

曾经这段代码我和上帝都认识,现在只有上帝认识了。

Tags: coding
使用支付宝打赏
使用微信打赏

若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏

扫描二维码,分享此文章