之前在一个网站看到这样的一个话题,原来编程领域还有这么多禁术。有人说这些禁术如果用得好,那么牛逼哄哄。如果用不好,那么遗憾无穷!
造轮子术
在面对一个需求时觉得有的步骤可以写一个工具方便自己更好地完成该需求,从而暂时丢弃当前需求去实现自动化工具,在实现工具的时候就会发现有更多可以自动化的东西,然后开始造底层库的轮子。
二分调试法
在无法找到问题时,尝试把相关代码删除一半并编译运行,如问题依然存在,则再删除一半代码编译运行。
洁癖重构术
把同事所有代码中的大括号改为写在下一行,并且不喜欢用if elseif / switch case写超过3个statement的程序,通通改为写成一个映射表进行跳转。
不稳定输出
在程序出现问题时乱改代码以达到解决问题目的,虽然最后不知道到底哪里出了问题,不过线上没事就行了。
开光术
在每个头文件或实现文件顶部放置一个佛祖像,或在所有即将上线的最终产品、二进制、硬件等介质并邀请和尚施法开光,线上可获得稳定增益。
一本正经胡说八道术
在和产品经理进行需求对峙时,一本正经地把不喜欢实现的功能通过玄学等方式口述出来,让产品经理知难而退。
蓄力术
指的是接到产品经理需求后无动于衷,然后开始聊QQ、刷知乎、看B站。临近Deadline时再开始实现需求,并把一周的工作量在一天之内完成。
结对编程
两名心有灵犀的男性程序员双手重叠放于键盘上,并以身体一前一后的姿势进行编码。
巫毒编程
巫毒编程指的是不求甚解只求结果的编程方式,最终导致编程从科学变成玄学,变成无法推论和预期的巫术,每次改个需求或加个功能都要祈祷计算机之神保佑别引发一大堆问题出来。
大家应该都有过这样的体验(特别是初学某个语言或技术的时候),当写一个复杂程序的时候,出现了异常或者是错误的结果,折腾半天找不出原因,后来乱改改代码莫名其妙的好了。如果就这么停手不追问为什么,那就是巫毒编程了。
比较典型的例子: 为了过验收,到处加try catch。 有一些不知原因的问题,就这样被掩盖了。问题其实还在的,很可能从程序BUG升级成业务错误或者漏洞。也可能是通过try catch解决了眼下问题,但是最终原因不清楚,最后整个系统充满这样的情况,变得脆弱不堪。
巫毒编程导致的问题很多,在初学阶段不求甚解导致基础不扎实,在项目阶段就是给自己和队友埋下地雷,项目里面到处是地雷的时候,就没办法做下去了。
线上debug
不知道这么改对不对,先发到线上去试试。。。呃,确实不对,赶紧回滚!
撞大运编程
随便改改,好像运行正确了,虽然不知道什么原因。
万能重构
别人的代码写的太烂,得重构;系统拆分不合理,得重构;性能太差,得重构;学习了一个新技术,得重构。
在程序员眼里,天底下除了自己的代码写的不烂之外,请问还有谁的代码写的不烂?嗯?!
精彩回顾