扒一扒那些年我们遇到的奇葩代码
前言
本文首发于公众号【一名打字员】
在工作中,我们通常会遇到传说中的“祖传”代码,有些是否让我们感到哭笑不得,今天本猿整理一下自己以及网络上出现过的奇葩代码。来源于互联网的均会标明出处。
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的代码,一次编译一次通过。(逃
扒一扒那些年我们遇到的奇葩代码相关推荐
- 扒一扒EOS的前世今生
扒一扒EOS的前世今生 EOS是什么? EOS可以认为是Enterprise Operation System的缩写,即商用的一款分布式区块链操作系统,EOS主要为了解决百万级用户的使用问题,为企 ...
- 扒一扒.NET Core的环境配置提供程序
前言 很久之前,在玩Docker的时候顺便扒了扒,最近,终于下定决心花了些时间整理并成文,希望能够给大家一些帮助. 目录 .NET Core中的配置 ASP.NET Core中的配置 扒一扒环境变量提 ...
- ASP.NET Core 2.2 : 十六.扒一扒2.2版更新的新路由方案
ASP.NET Core 2.2 : 十六.扒一扒2.2版更新的新路由方案 原文:ASP.NET Core 2.2 : 十六.扒一扒2.2版更新的新路由方案 ASP.NET Core 从2.2版本开始 ...
- View绘制详解(三),扒一扒View的测量过程
所有东西都是难者不会,会者不难,Android开发中有很多小伙伴觉得自定义View和事件分发或者Binder机制等是难点,其实不然,如果静下心来花点时间把这几个技术点都研究一遍,你会发现其实这些东西都 ...
- 如何判断2的n次方?用四种方式来扒一扒。
文章目录 写在前面: 方式一:用while循环反复除 这种方式肯定是最好想到的,反复除,判断余数是否为零. 方式二:用while循环反复乘 反复乘,大了返回false,小了继续乘,等于就true. 方 ...
- BEM实战之扒一扒淘票票页面
BEM解析 BEM是一套CSS国际命名规范,是一个非常有用的功能强大且简单的命名约定,它能使前端代码更易读,易于理解易于扩展.BEM是块(block).元素(element).修饰符(modifier ...
- 扒一扒「清华系」的网络安全大佬们丨110 周年校庆
扒一扒「清华系」的网络安全大佬们丨110 周年校庆 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pqWHts32-1673773477991)(https://p3- ...
- 扒一扒二维码AGV系统的交管思路
扒一扒二维码AGV系统的交管思路 好久没回来更新博客了,趁着今天没啥工作安排,正好摸摸鱼,时间有限,就发表下随笔博客,此文就不上代码了,需要了解的筒子们可以先了解下具体的概念,回头再回来上代码0.0 ...
- 扒一扒磁条导航和Slam导航的AGV交管思路
趁着今天调休回家,闲着没啥事,就发表下随笔博客,此文就不上代码了,需要了解的筒子们可以先了解下具体的概念,回头再回来上代码.其实对于AGV来说,我们可以把AGV当成公共汽车去理解,只不过他们是自主导航 ...
最新文章
- 高精地图与自动驾驶(下)
- Makefile完全解析PART5.使用变量
- Jsoup:使用Java将爬虫得到的数据写入Excel,Jsoup得到的数据进行持久化,爬虫数据保存到本地Excel中
- Word编写代码时输出半角引号
- CRM Fiori Customer report filter过滤器
- matlab矩阵的低秩分解,低秩分解的matlab代码看不懂,分解的两个矩阵在哪呀??...
- qt在GUI显示时,将调试信息输出到控制台的设置
- 2. 怎么根据nagios报警做出调整的
- MySQL字段类型详解
- Mininet的内部实现原理简介
- mysql二进制增量备份
- rmt_redis.c:6446 ERROR: Can't handle RDB format version redis-migrate-tool迁移工具报错
- 安卓java游戏模拟器_Java手机游戏模拟器
- 西安奥创软件研究院在博客园的博客开通
- 取整函数(ceil、floor、round)
- python定向爬取淘宝中商品的名称和价格
- 计算机网络连接叹号,【电脑网络连接感叹号】电脑网络连接感叹号怎么回事_电脑网络连接感叹号怎么办_亲亲宝贝网...
- 南开大学计算机学院李越,李越 简历 - 名人简历
- 基于simulink的无人机姿态飞行控制仿真
- Android自定义View(七)_Canvas之图片文字
热门文章
- Ubuntu 16.04 安装网易云音乐
- Unity GeometryShader(从一个线框渲染的例子开始)
- 大陆居民身份证验证方法(java)
- 镜像服务器文件实时监控同步程序
- STM32超声波模块测距串口输出/通用定时器中断并输出PWM控制舵机/系统定时器延时
- 微信(QQ)截图时,无法保留鼠标右键菜单选项内容
- 全国计算机等级考试题库二级C操作题100套(第28套)
- Windows使用技巧
- linux修改文件句柄数生效_修改Linux的open files参数是,立即生效,无需重启
- mysql延迟关联为什么快_MySQL 覆盖索引与延迟关联详解