代码注释是对计算机程序功能的解释。一般来说,加注释是为了使代码更易理解。在本系列文章中,你会发现,其实代码注释也可以很有趣。
00
// 没错,这段代码在 3001 年会崩溃。
// 不过呢,我那时候已经死了,
// 并且我们一定在用其他新系统了吧
if (yearPart >= 01)
{
// 不听话的代码已经被删除了
}
01
// 瑾以这些代码及所有工作,献给我的妻子达琳
// 一旦这些代码公布于众,她将不得不养活我、三个娃,还有一只汪星人02// 有时候,我相信编译器会无视我的注释03
/*
* 你认为你知道下面代码是做什么的。
* 不,你并不知道。相信我。
* 一旦你自作聪明来“优化”这些代码,诅咒降临,你将度过不眠之夜。
* 乖!现在就关闭这个文件,去玩点别的。
*/
04
// 我也不确定我们是否真需要这段代码,但我又不敢删。 ( ̄. ̄)
05
// 如果我能穿越时空,在未来读这段代码,那我会回到过去,杀掉自己。
06
try{} finally { // 应该永远不会发生
}
07
Catch (Exception e) {
// 谁会在意这个?
}
08
// 他们强迫我写下这些代码,实属违背我的意愿。09// 这些代码写得很艰难,
// 所以读起来也挺麻烦……
// ┓( ´∀` )┏10// 如果代码能够正常运行,那就是 Alice 写的。
// 如果不正常,那我也不知道是谁写的。
11
// 如果你正在读这个注释,说明你接了我的坑位。
// 我很抱歉,真的很抱歉。预祝你能成功。
12
// 昨天我被吓了一跳,
// 我运行了一些不存在的代码,
// 但今天它们不见了,
// 我多么希望它能留下来。
13
// 如果这段代码仍在使用,但无法运行,
// 那我允许你向我开枪。
// 哦,你做不到。因为我已经挂了……
代码
/* Ultra-hot screen management package
James Gosling, January 1980 */
/* Copyright (c) 1981,1980 James Gosling */
/****************************************************************
/-------------\
/ \
/ \
/ \
| XXXX XXXX |
| XXXX XXXX |
| XXX XXX |
\ X /
--\ XXX /--
| | XXX | |
| | | |
| I I I I I I I |
| I I I I I I |
\ /
-- --
\-------/
XXX XXX
XXXXX XXXXX
XXXXXXXXX XXXXXXXXXX
XXXXX XXXXX
XXXXXXX
XXXXX XXXXX
XXXXXXXXX XXXXXXXXXX
XXXXX XXXXX
XXX XXX
**************
* 当心! *
**************
警告所有闯入者:
本模块的大多数代码
都极度扭曲
难以理解,需谨慎行事!
你以为你能懂?
其实你没有。
请再仔细看看!
****************************************************************/
15// 如果删掉这个注释,程序将会崩溃。
// 别问我是怎么知道的 (⊙︿⊙)
16
// 是 Sheetal 写了这段代码,没有人知道其作用,不要改动!!!
17
// 这是个黑魔法,
// 出自某个 Stack Overflow 帖子。
// 不要玩弄魔法,它伤人。
18
// 对于我即将犯下的罪孽,
// 愿 Java 之父 James Gosling 能原谅我。
<br/>
19
// 这段代码本来之前是可以正常运行的,
// 但我家猫主子决定在我键盘上来次旅行。
<br/>
20
<br/>// 私有实例变量,用于存储年龄,public static int age;
<br/>
21
options.BatchSize = 300; // 疯啦? 这是斯巴达!
<br/>
22
long time; /* 精通 C 语言要好长时间*/<br/>23/*啊啊啊!你永远不会明白为什么这代码行得通。*/
<br/>
24
// 在这里设置断点,不过你永远不会到这
<br/>
25
// 这是垃圾代码,但现在是凌晨 3 点,就这样吧。
<br/>
26
// 把 i 加 1
i++;
<br/>
27
// Steve 没有把属性传过来,
// 那就快乐地发挥创造力,
// 使用可用信息重新创建。
// 这个逻辑不应该在这里的啊,
// 我快等不及要删了。
// TODO:交给 DAN 来解决这个问题。Wes 你就别来瞎掺和了。
28
// Times New Roman? 那古罗马人怎么了?29// returnreturn;
30
private// “私有”代表“隐私”,所以就不给你写注释了 function LoadIt(IntID:Integer): Integer;
31
# 要理解递归,请参见文件末尾
.(代码末尾…)
# 要理解递归,请参见文件开头
32
/** * 实现 PaymentType 接口。 */public class PaymentTypePo implements PaymentType33/* 这是个取巧的解决方法。
TODO:这代码要优化 */
34
// 哇,现在这个 if 语句也太大了吧。你忍一下。
35
// 如果可以,请原谅我!
36
#define TRUE FALSE // 慢慢调试吧 <br/>
37
int getRandomNumber(){
return 5; // 这是扔色子得来的数
// 可保证随机
}
<br/>
38
/** 永远返回 true。*/
public boolean isAvailable(){
return false;
}
<br/>
39
long long ago; /* in a galaxy far far away */
(这是经典电影《星球大战》的片头字幕第一句。)
<br/>
40
// 喝醉后写的,回头再改
<br/>
41
return 1; # returns 1
<br/>
42
// 如果你正在读这个注释,那么说明我的程序可能成功了。
<br/>
43
// 我不知道我为什么需要这个,但它可以防止人们上下颠倒
x = -x;
<br/>
44
// 致未来的我:
// 请原谅现在的我。我的歉意,难以言表。
<br/>
45
// 下面的代码替换上面的代码,有问题吗?
// 有啊,根本不管用。┓( ´∀` )┏
<br/>
46
// 我知道下面是错误的,但它是来自我们的 IP 供应商。
// 如果你“修理”它,这个驱动程序失效。
// 我反反复复搞了 4 次,
// 别动它,否则我会抓住你,打断你腿。
if (r = 0)
{
/* 代码块 */
}
else
{
/* 代码块 */
}
<br/>
47
// 如果你想被炒鱿鱼,请删除这段代码
<br/>
48
// 亲爱的维护者:
// 一旦你尝试“优化”了这个程序,
// 并意识到这是一个非常可怕的错误,
// 为了警告后来人,
// 请增加以下计算器:
// total_hours_wasted_here = 42
49
// 我也不知道为什么这段代码能运行,
// 但的确解决问题了
如果这些代码注释给你带来了欢乐, 记得点赞关注收藏走一波哦, 持续更新好用又好玩的知识
转载:程序员的那些事