借用某些电影电视剧标题党的风格,我们来讲些好玩的正经话题。
说到注释,使用 C / C++ 的小伙伴绝对不陌生,相信大家也多少听过那个使用 c++ 风格在火锅菜单上注释食材,结果上来11份羊腰子的笑话。嗯好在是先写的1,然后又画一道,这要是一开始写的 6,保不齐遇到一个聪明的服务员还以为你情况特殊要偷偷报警呢。。。
正因为注释的格式及其简单, /* */ 和 // 其中可以无所不包,各位猿们的想象力在这点自由上得到了充分发挥:
/*
_ooOoo_
o8888888o
88" . "88
(| -_- |)
O = /O
____/`---'____
.' | |// `.
/ ||| : |||//
/ _||||| -:- |||||-
| | - /// | |
| _| ''---/'' | |
.-__ `-` ___/-. /
___`. .' /--.-- `. . __
."" '< `.____<|>_/___.' >'"".
| | : `- `.;` _ /`;.`/ - ` : | |
`-. _ __ /__ _/ .-` / /
======`-.____`-.________/___.-`____.-'======
`=---='
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
佛祖保佑 永无BUG
*/
/* code is far away from bug with the animal protecting
* ┏┓ ┏┓
*┏┛┻━━━┛┻┓
*┃ ┃
*┃ ━ ┃
*┃ ┳┛ ┗┳ ┃
*┃ ┃
*┃ ┻ ┃
*┃ ┃
*┗━┓ ┏━┛
* ┃ ┃神兽保佑
* ┃ ┃代码无BUG!
* ┃ ┗━━━┓
* ┃ ┣┓
* ┃ ┏┛
* ┗┓┓┏━┳┓┏┛
* ┃┫┫ ┃┫┫
* ┗┻┛ ┗┻┛
*
*/
/**
* 江城子 . 程序员之歌
*
* 十年生死两茫茫,写程序,到天亮。
* 千行代码,Bug何处藏。
* 纵使上线又怎样,朝令改,夕断肠。
*
* 领导每天新想法,天天改,日日忙。
* 相顾无言,惟有泪千行。
* 每晚灯火阑珊处,夜难寐,加班狂。
*/
/**
* ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
* │Esc│ │ F1│ F2│ F3│ F4│ │ F5│ F6│ F7│ F8│ │ F9│F10│F11│F12│ │P/S│S L│P/B│ ┌┐ ┌┐ ┌┐
* └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ └┘ └┘ └┘
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐
* │~ `│! 1│@ 2│# 3│$ 4│% 5│^ 6│& 7│* 8│( 9│) 0│_ -│+ =│ BacSp │ │Ins│Hom│PUp│ │N L│ / │ * │ - │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤
* │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │{ [│} ]│ | │ │Del│End│PDn│ │ 7 │ 8 │ 9 │ │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ├───┼───┼───┤ + │
* │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │: ;│" '│ Enter │ │ 4 │ 5 │ 6 │ │
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───┐ ├───┼───┼───┼───┤
* │ Shift │ Z │ X │ C │ V │ B │ N │ M │< ,│> .│? /│ Shift │ │ ↑ │ │ 1 │ 2 │ 3 │ │
* ├─────┬──┴─┬─┴──┬┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤ E││
* │ Ctrl│ │Alt │ Space │ Alt│ │ │Ctrl│ │ ← │ ↓ │ → │ │ 0 │ . │←─┘│
* └─────┴────┴────┴───────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘
*/
作者:vbirdbest 原文:https://blog.csdn.net/vbirdbest/article/details/78995793
画风不一而足,文采各有千秋,或写实,或抒情。毕竟源码是猿们的心血之作,在猿心中,源码就是打了码或者没打码的媛(大雾),值得珍藏,值得好好琢磨。
当然,在注释中带些情绪的其实很正常,在代码中带情绪就很让人无语了。
最近一个工作三年的老同事离职了,领导让我接手维护他的功能并把代码交给我。
我拿到代码一看,变量命名大部分都是 f**k,sh*t 之类的粗话,甚至 for 循环用于 break 的 label 也命名为 F**K_FOREACH,JUnit 测试导出的文件也带有 F**k 字样,而且通篇没有注释,应该就剩数据库的表命名没带粗话了。。。
我这里没有 code review,貌似领导也不知道,不知道那个老同事经历了什么,我的天,貌似轮子哥也是喜欢这么干的,各位 V 友你们会在代码里带脏话吗?
作者:iloveyouso 原文:https://www.v2ex.com/t/488250?p=2
BTW,轮子哥的脏话典故可能和他著名的一段关于 f**king house 的示范 性 代码有关,总之不知道你们什么感受,我看完代码一脸懵逼后,确实感觉自己长见识了。。。
说了半天口水话,介绍一个小众的技巧。
//*/
什么,这就完了?这算哪门子的技巧?
嘿嘿,就这个,解释起来反倒比技巧本身要费点功夫。
//*/
std::cout<<"Hello, World."<<std::endl;
//*/
std::cout<<"Bye-bye, World."<<std::endl;
//*/
现在让我们删掉第一行第一个 ”/“ 字符:
/*/
std::cout<<"Hello, World."<<std::endl;
//*/
std::cout<<"Bye-bye, World."<<std::endl;
//*/
如果我们删掉的是第二行第一个”/“字符而不是第一行第一个:
//*/
std::cout<<"Hello, World."<<std::endl;
/*/
std::cout<<"Bye-bye, World."<<std::endl;
//*/
如果想全部注释掉,就删去中间的 ”*“,然后再删去第一个”/“
/*/
std::cout<<"Hello, World."<<std::endl;
///
std::cout<<"Bye-bye, World."<<std::endl;
//*/
最多只要增删两个字符,就可以随意控制代码在4种情况下随意切换,好玩不好玩?是不是比那些个拖拉鼠标按快捷键的注释操作显得高大上?
附赠一个技巧。//*/用起来有点不爽的地方是不方便在它后面直接写注释。为什么这么说自己试验一下就知道了。
平白放在这里有点突兀和不爽,太土气了。 那就加个//让它变得有用且小清新起来。
//*/// Eros is Errs
std::cout<<"Hello, World."<<std::endl;
//*/// I think, so i exist.
std::cout<<"Bye-bye, World."<<std::endl;
//*/// When life fades, you are still vivid in my heart.
嗯,就是这样子了,如果让我给这个技巧起一个名字,我会叫它 ”夹在中队长和大队长中间的肉丸子。。。”
算了,你觉得叫啥好听就叫啥吧。。。
要是觉得好用,请向别人推广这颗“夹在中队长和大队长中间的肉丸子。。。”。
记住,别说名字是我起的!别说名字是我起的!别说名字是我起的!
虽然确实是我起的。。。