前言
本文首發于公眾號【一名打字員】
在工作中,我們通常會遇到傳說中的“祖傳”代碼,有些是否讓我們感到哭笑不得,今天本猿整理一下自己以及網絡上出現過的奇葩代碼。來源于互聯網的均會標明出處。
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的代碼,一次編譯一次通過。(逃