查看原文
其他

没有几样强迫症,不配自称程序员

程序人生 2018-10-25

点击上方“程序人生”,选择“置顶公众号”

第一时间关注程序猿(媛)身边的故事


作者

东风玖哥zard

已获原作者授权,如需转载,请联系原作者。


程序员是一类特殊的群体

因为与电脑交流多于与人交流

所以成为了强迫症的高发群体

我国程序员人数已经超过500 万人

比世界上一半的国家人口都多

任何小问题乘以 500 万都是很惊人的

程序员的强迫症成了不可忽视的社会现象

我们将程序员高发的强迫症分为十大类



数字强迫症


数字强迫症的症状是数数从 0 开始,这是中了大多数编程语言的毒导致的。数字强迫症的另一种症状就是对二进制有执念,很多程序员员都认为世界上有 10 种人:一种懂二进制,另一种不懂数字强迫症的晚期症状是认为 256 和 1024 等 2 的 n 次方很完美,常常有 1 kg == 1024 g 或者 1 L = 1024 mL 的错觉。


格式强迫症

格式强迫症的症状是对代码的缩进要求极其严格,代码务必美观。即使遇到缩进不能再整齐的代码,如果有的缩进是 1 个 Tab 而有的缩进是 4 个 Space 都会浑身难受。


当代的 IDE 做到了 Enter 换行自动缩进和 Ctrl + Alt + L 整理格式,大大减少了格式强迫症的发病率,格式强迫症也顺理成章发生了变异。格式强迫症最常见的变异就是从只追求左边的对齐变成了也追求右边的对齐,患者会把 IDE 的字体都换为等宽字体。


命名强迫症

命名强迫症的症状是对类、接口、变量、常量、方法、枚举等的命名既追求简短,又追求直白,希望一眼下去就能望文生义——但一般来说简短和直白就如同物美和价廉一样不可兼得。当命名强迫症作为输入强迫症的并发症出现时,会经常因为一列对象的命名字数不一致而有砸电脑的冲动。


中国的程序员有种特殊的命名强迫症,就是不喜欢拼音命名,看见前任遗留代码中的拼音命名就会火冒三丈。命名强迫症的另一种症状是不喜欢看到笼统的命名,例如 data_1、msg_2、view_3 甚至干脆就是 i、j、k(方法内部循环除外);更不喜欢看到有误导的命名,比如突然发现这么一句注释:“// 以下所有 left 代表右,所有 right 代表左”。命名强迫症的晚期症状就是对驼峰命名法有莫名其妙的痴迷,就连新注册网站的用户名都要严格遵循驼峰命名法。


保存强迫症

在 eclipse + netBean 的时代,IDE 没有自动保存功能,很多程序员养成了随时 Ctrl+S 的习惯。而当代 IDE 基本上都有自动保存的功能,他们的习惯,这就是保存强迫症。


前端程序员上网的时候会不断 Ctrl+S。如果网页有文本编辑器,在 Ctrl+S 的时候会弹出对话框:“文字已成功保存于某年月日”,然后会莫名紧张:“怎么又弹窗了?” 好久才反应过来自己在上网。保存强迫症并非一无是处,患者玩单机游戏会自带 “随时使用 S/L 大法” 技能,会大大避免前功尽弃的可能。


维修强迫症

维修强迫症的症状是在 U 盘或者移动硬盘里保存各类杀毒软件、木马库、系统镜像、越狱工具、Android root 工具以便随时维修电脑和手机。病因是被七大姑八大姨 “你不是程序员吗怎么连电脑 / 手机都不会修?” 逼的。


维修强迫症没有晚期症状,三舅妈的大姑姐找程序员帮她修智能洗衣机等 loT 设备或者四叔的小舅子找程序员把科学计算器刷成Android 系统时就把程序员直接逼死了。


硬件强迫症

硬件强迫症的症状是程序员对自己工作有关的硬件要求极高。以下常见的致病硬件的逼格和获得的成本递增:


移动硬盘:移动硬盘是线下的 Git,保存无数代码、文档以及秘钥。在 “考研资料 / 政治 / 马克思主义哲学 / 第十八章 / 课程 H” 下面也隐藏着不为人知的东西。

机械键盘:噼里啪啦的手感和不菲的身价,HHKB 是每个程序员的信仰,买不起 HHKB 的程序员会用国产的机械键盘凑合着用。

iMac 或者 Macbook Pro:苹果的电脑性能都非常好,编译程序速度非常快。更重要的一点:OS X 系统不能玩 LOL,避免了浪费写代码的时间。


双显示器:对于前端程序员来说,双显示器不仅是装逼用的,一台竖屏显示器显示 WebStorm,而另一台横屏显示器显示 Chrome 对编程很有帮助的。显示器的价格并不昂贵,昂贵的是能呈 120 度角摆两台显示器的桌子下面的地皮在北上广深杭的写字楼里的租金。


人体工程学座椅:五花八门的不正常办公家具包括人体工程学座椅和支持站立编程的桌子等,美其名曰保护程序员的颈椎、腰、屁股和前列腺,受到程序员喜爱的真实原因你懂的。

程序员鼓励师:大多数程序员渴望但不曾拥有过的硬件是只属于自己的程序员鼓励师,换句话说就是在你写代码时红袖添香的女朋友。


白盒强迫症

白盒强迫症的常见症状是看见代码就想优化一下。说程序员只怕 “error” 不怕 “warning” 是非常错误的,很多程序员见不得黄字和中划线,也见不得蓝色的 “// TODO”。


白盒强迫症很多时候都是有益的,可以让代码变得整洁,隐藏的漏洞也会减少。白盒强迫症的晚期患者每次打开一个网页都要右键查看源代码,已经无法正常上网。


黑盒强迫症

黑盒强迫症的常见症状是每次看见闭源的软件都想研究一下里面的原理,再想想自己能不能做得更好。比如用支付宝扫码支付的时候想的是识别二维码、通信加密、支付安全等原理;或者乘坐电梯时看着电梯的按钮面板(现实世界的 UI)会开始思考电梯的调度算法,比如多个实例之间状态可以互相影响,还有一些优先级、加速度、预判方面的东西。


黑盒强迫症的晚期症状是看见现实世界中办事的流程都想用算法知识优化一下,常见的是想着如何优化公司报销和升职的审批流程;再举个反面例子,看《人民的名义》或《官场现形记》时都想着怎么优化贪官和奸商的 “办事” 流程。


收藏强迫症


收藏强迫症的症状是在 GitHub 上看见好源码必 star,技术博客上看到好文章必然收藏,没有收藏功能的个人站也要加入收藏夹。收藏虽多,但不会再看。明知如此,还感觉不收藏就会吃亏。


身份强迫症


身份强迫症早期症状:头脑中 “程序员 == 我自己” 的概念根深蒂固,看到和程序员有关的话题都要打开看一下,打开本文一定是因为本文标题有 “程序员”。读完本文的患者还会把自己和同事们作为一个数组,本文中 10 种强迫症作为另一个数组,然后在自己的大脑里做一个递归,查查自己和同事们分别中了几枪。

身份强迫症晚期症状:把现实世界中见到的一切理解为 IT 知识,忘记了自己在职场外怎么做一个正常人:走火入魔的患者偶然有一天没有在家写代码,出门看见太阳想到的是 “单例模式”,看见双胞胎想到的是 “拷贝”,看到摩天轮想到的 “循环”,看到排队想到的是 “队列”。

身份强迫症进入日薄西山阶段症状:患者已经无法用人类的语言进行交流了,QQ 聊天时每句话的最后都要家一个 “;”,没错,是半角的分号;更有甚者还会把脏话用 “/*” 和 “*/” 框起来,以为对方就看不见了;看见卖西瓜就只买一个包子的程序员听说学姐留学归来,会四门语言的第一反应是问她那四门语言是 Java、PHP、Python 和 JavaScript 还是 C、C++、C#和 Objective-C。

身份强迫症进入回光返照阶段:试图把别的语言、工具、领域的程序员改造成自己同行的程序员,曾高呼 “PHP 是最好的语言” 的程序员在移动互联网时代改行 Android 后会纠结怎么把 iMac 或者 Macbook Pro 屏幕背面的 Apple 形状的灯改成 Android形状的。


如果你读到最后,不但一枪没中,也没把自己身边的朋友和同事套在这十大强迫症上做个递归,那么你一定不是一个程序员。


- The End -

「若你有原创文章想与大家分享,欢迎投稿。」

加编辑微信ID,备注#投稿#:

程序 丨 druidlost  

小七 丨 duoshangshuang


2018 AI开发者大会

拒绝空谈,技术争鸣


2018 AI开发者大会重磅嘉宾及深度议题已火热出炉,扫码抢“鲜”看。国庆特惠,票价立享 5 折优惠!



往期精彩内容

print_r('点个赞吧');
var_dump('点个赞吧');
NSLog(@"点个赞吧!")
System.out.println("点个赞吧!");
console.log("点个赞吧!");
print("点个赞吧!");
printf("点个赞吧!\n");
cout << "点个赞吧!" << endl;
Console.WriteLine("点个赞吧!");
fmt.Println("点个赞吧!")
Response.Write("点个赞吧");
alert(’点个赞吧’)
文章已于修改

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存