关于“智障代码”

前两天和一个老同学谈到了“智障代码”这个事情。我们称呼这个同学为M同学。

我不太理解M同学讲到的“智障代码”的含义,寥寥数语讲完之后我觉得意犹未尽,于是便又坐到电脑前写下这个文章。

在我键盘下产生的“智障代码”大概可以分为三类。

第一类是初入编程时候写的代码。我接触的第一门语言是VC++,是微软搞出来的语言,在上个世纪九十年代十分流行(但是据说现在很多专科院校仍然讲VC++作为计算机的必修课),在高三毕业的暑假我找到一本和编程有关的数据,书名我忘记了,大抵是“VC++编程入门”这一类的书籍。VC++十分利于初学者入门,就是把开发工具右侧的按钮、面板等图标拖到项目中,然后定义一下各个按钮的操作就能完成一个图形化的程序。当时我用了大概两个天编写了一个具有加减乘除功能的计算器程序。后来到了大学之后我开始使用Java语言作为编程,生产出来了不少“智障代码”,其中占比最多的应该是类似单词拼写错误中文引号和英文引号弄混这样错误,这个属于我写的第一类“智障代码”。

第二类是入门之后写的代码。在入门Java之后,我又学习了C语言和Python语言。相比Java来说,这两门语言束缚更少,更加的轻量级。我产生了很多的“智障代码”。这段时间写的代码有了我现在代码的雏形,这个阶段生产的的代码的智障主要体现在代码的极不规范,如代码缩进、代码结构、代码模块间耦合的问题。比如说,我使用Vim写的C代码缩进乱得一塌糊涂。(这并不是vim的错误,这是我的错误。)再比如说我的Python代码一个同功能的方法会在不同的项目中重复写很多遍。

第三类是现在的代码。现在的代码代表是我实习到正式工作中的代码。这段时间里我产生了大量的“智障代码”。主要原因在于工程进度一般都比较紧张,而且没有人注意业务代码的具体实现。于是我在代码中留下了很多的类似 #FIXME #TODO 这样的标记,以提醒自己在以后有时间的时候将不合理的代码重构掉。但是一有时间就懒癌发作不愿意去重构了,而且重构的过程中往往会出现奇怪的问题,于是就更加不愿意去重构了。

关于“智障代码”其实我个人是很反感的。尤其是对于开放在Github(一个开源的软件托管平台)上的项目,如果star数量比较多而且又能被我找到的“智障代码的”话我会跟怒不可遏。

也许我应该抽时间把我的“智障代码”重构掉。

《和客服通话的小彩蛋》

….balabalaba….

“先生请问还有什么能够帮助你的吗?”

“嗯,没有了。谢谢!祝您生活愉快,再见?!”

这个时候对方客服的反应一般有以下三种。

  1. 先是一愣,然后噗嗤一笑之后调整情绪。“好的,先生再见?”。

  2. 换一个结束语。比如 “嗯,好的。祝您周末愉快,再见?。”

  3. 反应很快。“好的先生,同样的祝福送给您。祝您生活愉快,再见?。”

各位也可以试验一下。

《遇到电话推销》

今天接到一个电话推销,一个山东的座机打来电话问我最近有没有小额贷款的需求。对话如下。

推销的小妹妹:“老师儿您好,请问您最近有没有小额贷款的需求呢?”

我:“有啊,太有了。还缺两个亿我想买栋房子。”

小妹妹:“不好意思老师,我们这里最高只能办理二十万的贷款,打扰了,再见?”

《美国劳动节》

今天,Mac的日历上忽然出现了一个提醒事项。告诉我今天是美国的劳动节

劳动节

于是去搜索了一下美国劳动节的相关资料。原来资本主义社会也有劳动节 。

美国的劳动节(英语:Labor Day)规定在每年九月的第一个星期一,是联邦的法定节假日,用以庆祝工人对经济和社会的贡献。对许多美国人来说劳动节的到来也意味着夏季的结束,同时也是举行派对、聚会和体育盛事的时间。

-维基百科