1. 聚能聊>
  2. 话题详情

程序猿,来聊聊那些奇葩注释吧!

注释是每段代码中一个神秘的存在。他向每一位窥视者,揭示了程序猿的创造之“原”!

_ZFE_0SMNY4SR3Q9_4E9AMJ

写好注释是每位程序猿看别人代码时最常提到的要求,也是自己写代码时最难执行的一件事儿。在最近发布的《阿里巴巴Java开发手册》中,关于注释的规约就有11条之多。说明在开发过程中代码的注释至关重要。其是一种辅助语言,帮助大家快速理解、准确理解代码背后的逻辑思想。

我曾经在一段代码中看到这样的注释:
  “如果这段代码有问题,请找谁谁谁,打他屁股,他保证这个接口是没有问题的”

让我们一起来聊聊,你的注释习惯是什么?

你见过哪些奇葩的、神一样存在的注释。

参与话题

奖品区域 活动规则 已 结束

  • 奖品一

    王坚新著《在线》 x 2

  • 奖品二

    优酷VIP月卡 x 4

  • 奖品三

    定制笔记本 x 3

90个回答

3

抠脚大叔 已获得定制笔记本 复制链接去分享

哈哈,之前在电信的一个项目组就有写过这种注释,如图qq_pic_merged_1487816884769
再补充两句,之所以能写出这么欢乐的注释还是因为团队的原因,我们这个项目组的小伙伴都十分逗比,幽默,而我也是个逗比的人,所以就有了这种欢乐的注释,其实还有很多,但是我只留了这一张截图

聚小编 回复

大叔你的昵称就挺欢乐的~~

重庆华膜 回复

这诗不错 很有才

孤尽 回复

再写下去就是相声了。

moyan98 回复

呵呵

恩奇都酱 回复

大叔,你是可以的(๑•̀ω•́๑)

alishu 回复

大叔静静这会儿也想你了

评论
2

小柒2012 已获得优酷VIP月卡 复制链接去分享

正规的:

/**
     * 阿里支付预下单
     * 如果你调用的是当面付预下单接口(alipay.trade.precreate),调用成功后订单实际上是没有生成,因为创建一笔订单要买家、卖   家、金额三要素。
     * 预下单并没有创建订单,所以根据商户订单号操作订单,比如查询或者关闭,会报错订单不存在。
     * 当用户扫码后订单才会创建,用户扫码之前二维码有效期2小时,扫码之后有效期根据timeout_express时间指定。
     * @Author 小柒
     * @param product
     * @return  String
     * @Date    2016年10月31日
     * 更新日志
     * 2016年10月31日 小柒  首次创建
     *
     */

调戏的:

/**
     * 其实我小时候的梦想并不是要当什么程序员,
     * 我只是幻想自己是地主家的少爷,家有良田万顷,
     * 终日不学无术,没事领着一群狗奴才上街去调戏一下良家少女。
     * 然后这个方法的基本作用就是 微信支付回调 通知我们支付是否成功。
     * @Author    小柒
     * @param request
     * @param response
     * @throws Exception  void
     * @Date    2016年9月28日
     * 更新日志
     * 2016年9月28日 小柒  首次创建
     *
     */
聚小编 回复

少爷V5~~

孤尽 回复

有作家的潜质哈。

luneice 回复

然后你就被支付宝的产品经理约谈了😂

评论
0

keller.zhou 已获得定制笔记本 复制链接去分享

在Java中可以用两种方式为程序加上注释。

//用来包括跨行的注释文字。通常开发人员为了让注释文字看来比较整洁清晰,中间还会使用一些来排版,只要记得使用多行注释时,是以结束注释文字即可,所以不能用嵌套方式来编写多行注释。编译器在处理前面的编写方式时,会以为倒数第2个/就是注释的结束点,因而对最后一个*/就会认为是错误的符号,这就会出现编译错误的信息。

//则可以用来编写单行注释,在//之后的该行文字都被视为注释文字,多行注释可以包含单行注释。例如:

注释的编写时机与内容并没有什么特别的规定,以清晰易懂为主。注释的目的在于说明程序,是给开发人员看的,您可以使用注释在程序中写下重要事项,日后作为备忘或者是方便其他开发人员了解您的程序内容。

 注释的另一个作用则是暂时注销某些语句。当您觉得程序中某些语句有问题,可以使用注释标示起来,这样编译器就不会去处理。虽然基础,但很@@

孤尽 回复

嗯,挺不错的,《阿里巴巴Java手册》更加明确了注释放在哪里。

评论
0

康康康 已获得王坚新著《在线》 复制链接去分享

哈哈,看到这段真是笑喷了,突然想到以前段子的注释
class Color{

String Green;
String Hong;

}
刚看到红的我也是一脸蒙蔽啊
a20a1802e5a54037b6cfb2ac18033a10_1_1488329923.108206.jpg

孤尽 回复

世界很大,程序员是万能的。

评论
1

似水的流年 已获得定制笔记本 复制链接去分享

第一次写项目的时候表示不会写,然后画了个图,结果被人取笑了,别人在下面回了句都几天了还都是bugscreenshotQQ_20170224105753

聚小编 回复

好神奇的马...

评论
0

浮生递归 已获得王坚新著《在线》 复制链接去分享

注释的作用跟代码版本管理有点像,纠结点也类似。
假设是个小项目,或者不需要回滚之类的程序,那写太多注释就会让整体开发效率降低很多。所以我常常纠结在写与不写之间。
如果写了,且用上了,那自然完美。如果写的注释,从来没回头看过,那就浪费了不少码字时间。(码字时间也是时间)

曾经为了便于快速阅读,习惯在else后面加上是什么if的。比如
if name=a
if sex=1

if class=3
...
else'if class=3

...
elseif sex=2'if sex=1
...
else'if sex=1
...
...
else'if name=a
最终层级太多的时候,自己也搞不懂哪层是哪层了囧

孤尽 回复

Java开发手册对此类代码也做了说明,如何去有效地处理。

评论
0

云木西 已获得优酷VIP月卡 复制链接去分享

A:嘿 //是什么意思啊?
B:嘿.
A:呃 我问你//是什么意思?
B:问吧.
A:我刚才不是问了么?
B:啊?
A:你再看看记录...
B:看完了.
A:......所以//是啥?
B:所以什么?
A:你存心耍我呢吧?
B:没有啊 你想问什么?
……
不断循环之后,A一气之下和B绝交,自己苦学程序。
N年之后,A终于修成正果,回想起B,又把聊天记录翻出来看,这时,他突然发现B没有耍他……
而他自己也不知道当年他问B的究竟是什么问题……

孤尽 回复

有哲理。

评论
0

moonie 复制链接去分享

我就想知道这注释如何🤓
1ce0d18c5b504c1890e75a747003b57a_1_1487840306.908385.jpg

孤尽 回复

《Java开发手册》里不推荐这样的注释方式~。

1014mx 回复

推荐的是/* /

moonie 回复
回复@孤尽:

一直都是独立开发,没怎么接触过这些,都是怎么看着舒服怎么写……找个时间我去拜读一下那本书😅

moonie 回复
回复@1014mx:

为啥😂

孤尽 回复
changefate 回复

你这个个注释,我能拿到很多东西!!!!!!!!!!

评论
0

34113904 已获得优酷VIP月卡 复制链接去分享

前段时间见到同事的一处注释,笑死人了:

//检查登录人员与传入的狗是否匹配

0

faithsws 已获得优酷VIP月卡 复制链接去分享

遇到最奇葩的注释是,日本人用日语的英文发音写注释。看着累啊

0

1784768814855323 复制链接去分享

奇葩注释不可怕,可怕的是命名用英文缩写加数字加拼音缩写完全不写注释

聚小编 回复

这种程序员一定是达芬奇密码看多了~

孤尽 回复

开发手册里对于命名也做了规定。

评论
1

rlxzmdd 复制链接去分享

一般我的注释,“有bug自己不会修??我的支付宝xxx,没钱没动力”

孤尽 回复

霸气侧漏啊~,程序猿找到了一条创收的捷径了。

评论
0

1207374524730432 复制链接去分享

/**

如果下面这行代码出了问题请找产品经理
这么脑残的需求不是人要的

**/

eam丶逍遥 回复

哈哈,厉害了

聚小编 回复

厉害了,WORD哥!

迎風别葉 回复

66663

评论
0

火蓝云 复制链接去分享

还不是一个程序员,没有注释习惯,所以每次看自己改的文件 都不知所云~
so,注释很重要,人很健忘,注释不仅可以让别人看懂你的代码更让自己看到自己的代码
多数看别人的注释都是 顶部是宣布版权,下面没注释 我就纳闷了 这是什么鬼~~~
比较常见的是 功能 前面加注释

聚小编 回复

不写注释的程序猿,不是一个好宅男...

孤尽 回复

注释是信息的记忆和延伸。

评论
0

1298888942152031 复制链接去分享

写代码要求自己能看懂,客户也能看懂,而且功能还能实现,做到一箭三雕,恐怕是码农的最高境界了吧。

孤尽 回复

厉害

评论
0

fcycit 复制链接去分享

自己写注释从无到有,从简到精,有一种成就感,不知道有没有人有同感

孤尽 回复

注释就像电影的旁白,有时候简要的旁白可以快速让观看者知道情节缘何而起,就像《变形金刚1》的开场白一样:Before time began, there was the Cube. We know not where it comes from, only that it holds the power to create worlds and fill them with...

评论
0

benjamin369 复制链接去分享

平时为了让注释不辣么枯燥且易懂,就讲代码的功能转化为一个日常的行为动作,结果一小个项目下来后,同事告诉我一件事情,我写的代码没什么特点,但是讲代码删去之后,俨然就是一本故事会啊……

孤尽 回复

故事会如果贴上来,很精彩的话,可以发一个笔记本的哈。

评论
0

复苏丶大大 复制链接去分享

没有注释是最好的注释( ˘ᵕ˘ )

孤尽 回复

如果仅是算法层面,自解释的写法是做得到的。但是~纠结的,我们的代码往往是有业务含义的,这个时候必要的注释,还是能够让2年后的自己,以及维护者更加容易去理解。

评论
1

噫吁戏w 复制链接去分享

QQ_20170227092434

聚小编 回复

项目经理牛XX的

评论
0

微微之家 复制链接去分享

是的,从一个好的规范注释就可以看出一个程序员的态度和水平。

孤尽 回复

甚至是一个程序员的性格。

评论
5