前言
本文首发于公众号【一名打字员】
在工作中,我们通常会遇到传说中的“祖传”代码,有些是否让我们感到哭笑不得,今天本猿整理一下自己以及网络上出现过的奇葩代码。来源于互联网的均会标明出处。
TOP1
当仁不让的当然是传说中的“睡排序”,/手动捂脸
#include <chrono>
#include <iostream>
#include <thread>
#include <vector>int main(int argc, char* argv[]) {std::vector<std::thread> threads;for (int i = 1; i < argc; ++i) {threads.emplace_back([i, &argv]() {int arg = std::stoi(argv[i]);std::this_thread::sleep_for(std::chrono::seconds(arg));std::cout << argv[i] << std::endl;});}for (auto& thread : threads) {thread.join();}
}
当然他输出的结果是
./a.out 8 15 14 9 17 20 16 24 6 24 21 23 19 23 19
6
8
9
14
15
16
17
19
19
20
21
23
23
24
24
本猿觉得,其实除了名称奇葩以外,其它还是很正常的。(逃
from WIKI
TOP2
拼写容错,在知乎上看到的,23333...
#define ture true
#define flase false
#define viod void
from B乎
TOP3
变量命名是个体力活,常年混迹GITHUB(复制粘贴代码)的本猿,看过太多各种各样的命名了。我发现一个规律,小公司或者外包公司的打字员们,通常因为进度问题(当然也有可能有其它原因,我不管我不管),在一个函数方法内部会出现这样的命名。int a=0,aa=0,aaa=0,b=0,bb=0,bbb=0,c=0,cc=0,ccc=0
,还有这样的
enum color{black,//黑色hong //红色 }
这位打字员,你是不知道红色的英文是啥吗还是要搞事情啊....
TOP4
是时候祭出当年我为代码开光的注释了:
_ooOoo_o8888888o88" . "88(| -_- |)O\ = /O____/`---'\____. ' \\| |// `./ \\||| : |||// \/ _||||| -:- |||||- \| | \\\ - /// | || \_| ''\---/'' | |\ .-\__ `-` ___/-. /___`. .' /--.--\ `. . __."" '< `.___\_<|>_/___.' >'"".| | : `- \`.;`\ _ /`;.`/ - ` : | |\ \ `-. \_ __\ /__ _/ .-` / /======`-.____`-.___\_____/___.-`____.-'======`=---='.............................................佛祖保佑 永无BUG
说起来,早些年我的代码里还是有很多这种注释的。2333
移步GITHUB
TOP5
在这里推荐一个网站,上面有很多这种好玩的东西,比如说下面这种
from xkcd
结语
大家平常有遇到啥好玩的东西或者是想要完成什么功能都可以发给【一名打字员】,本猿一定让你很满意的。最后希望大家都能写出没有bug的代码,一次编译一次通过。(逃