|      1wenzhoou      2019-07-26 09:48:33 +08:00 via Android  1 人家的家规,开心就好。 | 
|  |      2shuizhengqi      2019-07-26 09:51:31 +08:00  4 不规定的话,如果大家都在行首注释,你来一个行尾注释,那你这个注释到底是针对上面的还是下面的?除了你,谁能懂 | 
|  |      3skiy      2019-07-26 09:55:33 +08:00  1 难道我看代码得从下面开始看的吗?每个 IDE 编辑器打开时都是头部显示的。注释一目了然,你却还要别人拉到最底部看注释才懂此文件干嘛用的。拉到下面了,我肯定都瞄了一遍代码了。 | 
|      4fan123199      2019-07-26 09:56:42 +08:00  1 @shuizhengqi 没有行首注释啊。我猜是因为许多人其实是要对一段代码注释,但只注释到了首行行末,这样可能不利于理解。另外 ide 对行末的注释也不会生产文档。   但是,我要说的是,很多时候行末注释是有效提高理解效率,我觉得可以用。 | 
|  |      5maichael      2019-07-26 09:57:19 +08:00  9 没什么看法,代码规范这种东西大多数情况下都不是为了分对错,而是为了减少争议。 | 
|  |      7Finest      2019-07-26 09:58:53 +08:00  1 格式化有对一行多少个字符规定 | 
|  |      8chendy      2019-07-26 09:59:33 +08:00  1 个人观点:因为非文档注释通常都是要说明一些特殊情况,所以最好出现在代码前,先知道要做什么再看到代码 另外行尾注释比较容易超出宽度限制 | 
|  |      9legiorange OP | 
|  |      11W1angMh      2019-07-26 10:24:19 +08:00  1 @legiorange 是的,某行代码或者某个代码块的注释写在该行的上方(代码块写在第一行的上方) | 
|  |      12qwerthhusn      2019-07-26 10:24:49 +08:00  6 别人的家规,参考一下得了,至少我感觉 这个没必要。 还有阿里的 IDEA 代码检查插件,我感觉啥有用的东西都检查不出来,检查出来的都是一些不关痛痒的东西。。 不过 IDEA 自带的 Inspect Code 是真的流批,只要代码那块黄了,八成是有问题的或者可以优化的 | 
|  |      13skiy      2019-07-26 10:30:24 +08:00 行尾是指: | 
|  |      14legiorange OP @skiy  String id = params.get("c_Id"); //班级 ID 类似这样。行尾行末是一个意思。 | 
|  |      15skiy      2019-07-26 10:32:59 +08:00  2 var abc = 1; // 这种行末注释对吧? 如果这种要求,我觉得没必要了。 有时要定义一堆初始值时,我就是 var abc = 1; // abc 的注释 var bcd = 2; // bcd 的注释 是 // abc 的注释 var abc = 1; // bcd 的注释 var bcd = 2; 感觉这样挺影响阅读的 | 
|  |      16darlinghsu      2019-07-26 10:34:05 +08:00  1 | 
|      17yanguangs      2019-07-26 10:35:39 +08:00 阿里家规罢了. | 
|  |      18oxoxoxox      2019-07-26 10:35:51 +08:00 这和“缩进应该用四个 space、还是两个 space、还是一个 tab ”这种问题有什么区别? | 
|  |      20skiy      2019-07-26 10:38:16 +08:00  3 @darlinghsu 如果是代码块,我习惯放在前面 // abc 的注释 abc () { } 但是 if else 功能好难用。。。 // abc if abc { // else 这里放置注释,IDEA 不太方便 } else { // 有很多人是放在这里注释,感觉这种情况放在这里注释很方便 } | 
|      21daozhihun      2019-07-26 10:38:40 +08:00 via Android 人家自己定的规定,觉得好就采用,觉得不好就理会就是咯 | 
|      23uyz      2019-07-26 10:39:55 +08:00  1 for(j=0; j<array_len; j+ =8) { total += array[j+0 ]; total += array[j+1 ]; total += array[j+2 ]; /* Main body of total += array[j+3]; * loop is unrolled total += array[j+4]; * for greater speed. total += array[j+5]; */ total += array[j+6 ]; total += array[j+7 ]; } | 
|      24laoyur      2019-07-26 10:44:01 +08:00 | 
|  |      25xnode      2019-07-26 10:44:10 +08:00 是为了减少这样的帖子,如果允许在行尾注释,那么就会有人发帖问为什么不能在行首注释 | 
|  |      26zsdroid      2019-07-26 10:51:09 +08:00  1 我用的行首,这样代码看上去不会密密麻麻的堆在一起 | 
|  |      27polebug      2019-07-26 10:51:22 +08:00 我觉得没毛病 我观察过一般人 定义变量的时候 习惯行末注释 定义函数的时候 习惯在上方一行注释 我猜是因为 定义变量 比较短且密集 规定不能行末注释也挺好的 比如很长很长的类定义后面可不会再有注释了(比如 java 可真是又臭又长 | 
|  |      28brust      2019-07-26 10:53:42 +08:00  1 我也是混搭 但是我习惯是 var abc = 1; // abc 的注释 var bcd = 2; // bcd 的注释 如果 // abc 的注释 var abc = 1; // bcd 的注释 var bcd = 2; 如果这种局部变量太多 这样可能一个方法一个屏幕看不完 | 
|  |      29W1angMh      2019-07-26 11:14:03 +08:00  1 阿里 Java 开发手册里有三个建议级别:强制 > 推荐 > 参考,“方法内部的单行注释,在被注释语句的上方另起一行”属于强制级别 | 
|  |      30Mogugugugu      2019-07-26 11:22:20 +08:00 因为我没有带鱼屏,另外注释比较长换行咋解决? | 
|  |      32chocotan      2019-07-26 11:45:06 +08:00 人家的家规,开心就好 +1 | 
|  |      33opengps      2019-07-26 12:20:30 +08:00 via Android 可能是屏幕都是竖着用,竖着看方便吧 | 
|  |      34opengps      2019-07-26 12:23:56 +08:00 via Android  1 回答个正规的,可能是代码审查工具更利用统计 行位注释可能会跟转移字符的斜杠冲突识别不准 | 
|  |      35passerbytiny      2019-07-26 13:12:48 +08:00 家规不是行规。 如果你不是打算进去,那么还是建议参照谷歌的规范: https://google.github.io/styleguide/javaguide.html | 
|      36jinliming2      2019-07-26 13:26:29 +08:00 via iPhone  1 我觉得楼上都进入了一个误区:不能在行尾注释就一定要在上一行注释,这没问题。但是允许在行尾注释,就不能在上一行注释了吗?肯定也可以啊! 所以,该行尾注释就行尾注释,该上一行注释就上一行注释,该用块注释就用块注释。 规则是为了代码更好看易读,统一可以方便理解。但是如果规则的出现导致代码变得不可读,那就得不偿失了! 所以,所有的代码格式化工具都会提供忽略的功能,毕竟工具都是死的,没有办法根据实际代码情况做出调整(别跟我说接入 AI,毕竟现在 AI 也不是十分可靠)。 所以,可以有规定,但是也要根据实际情况变通! 人是活的! | 
|  |      37AlphaTr      2019-07-26 13:32:55 +08:00 via iPhone 行如果比较长,行尾注释就不适合了;但这个不太好规则化程序验证检测,所以直接禁用掉 | 
|      40LukeChien      2019-07-26 14:20:09 +08:00 via Android 听说是,代码审计工具会判断注释所属语句,定义变量没有注释会警告 | 
|  |      41mikulch      2019-07-26 15:01:05 +08:00 国际上都是首行注释。 | 
|  |      42Aresxue      2019-07-26 15:06:20 +08:00 看着行数多。。。逃 | 
|      43javaWeber      2019-07-26 15:07:02 +08:00 alt+Enter。再点击那个 no inspect,就可以取消这个检查了。 | 
|  |      44viator42      2019-07-26 15:10:02 +08:00 行尾没什么不好的,定义变量的时候很清楚 现在显示屏的分辨率都很高,超宽应该早就不是什么问题了 | 
|  |      45nekoneko      2019-07-26 15:23:13 +08:00 习惯这样 /* 注释 **/ private static fianl Xxxx XXXXXX = XXXXX; // 注释 int a = 0; // 注释 if(){ } //注释 else{ } | 
|  |      46metrxqin      2019-07-26 15:29:46 +08:00 我挺爱在行尾注释,但是我的同事 IDE 有阿里规约插件,每次提交内容好多变动都是纠正这个问题。 | 
|  |      47MotherShip      2019-07-26 16:31:12 +08:00 就应该禁掉行尾注释 对不齐的行尾注释看着难受,对齐的。。改完代码还得对齐一次 何况我没有带鱼屏 | 
|  |      48real3cho      2019-07-26 16:37:00 +08:00 你怎么不戴帽子呢 | 
|  |      49rizon      2019-07-26 17:09:14 +08:00 禁止行尾注释有个不好的地方就是比如一个 if 语句,你想对 if 的条件做注释,那么这个注释是针对 if 条件的呢还是针对整个 if 块的呢,这时候就很难受,唉~ 不过行尾注释的危害其实更大,比如不够显眼,要往左侧拉滚动条 | 
|  |      50cco      2019-07-26 17:17:42 +08:00 怎么都可以,好看就行,能一屏装得下就行。 | 
|  |      51dr2009      2019-07-26 17:52:34 +08:00 一些变量的定义放行尾看着也挺舒服的 | 
|  |      52kuroismith      2019-07-26 17:57:17 +08:00 行首注释还是行尾注释其实并不重要 但是如果没有这个规定, code review 的时候就会像这楼里一样为了这种屁事吵来吵去 | 
|  |      53kuroismith      2019-07-26 17:59:07 +08:00 @opengps 编译器分得清代码审核工具会分不清吗? 除非是审查工具蠢到直接用简单的正则来匹配. | 
|  |      54murmur      2019-07-26 18:00:21 +08:00 把这行注释掉就可以 反正现在都是大屏幕 我们一行的代码已经设置到 250-300 个字符了 | 
|      55tslling      2019-07-26 18:33:02 +08:00 via Android 规矩没什么好说的。要说原因的话可能是行尾注释比换行注释更容易被忽略。再就是对 diff 友好一点,比如修改了注释的时候不换行还要仔细对比,换行注释的话 diff 结果更明了。注释和代码本来是两个不同的东西,我觉得换行注释更合理一点,如果公司规定了一定要换行那肯定要遵守,但是应该没有规定一定不能换行的公司吧。。。 | 
|  |      56jason19659      2019-07-26 21:57:27 +08:00  [强制] 方法内部单行注释,在被注释语句上方另起一行,使用 //注释。方法内部多行注释 使用 /* */注释,注意与代码对齐。 [强制] 类、类属性、类方法的注释必须使用 Javadoc 规范,使用 /**内容*/格式,不得使用 // xxx 方式。 | 
|  |      57weakish      2019-07-26 22:46:22 +08:00 以下纯属虚构,如有雷同,纯属巧合。 1. 行尾注释一般是针对某一行代码的。这种针对某一行代码的注释很多情况下是没有必要的,剩下的一些情况,不如把代码换一种更明白清晰的写法。真正需要注释某一行代码的情景是很少的。比如 Python 的 PEP 8 也推荐「 Use inline comments sparingly.」 2. 因为 1,很多项目的代码中极少出现行尾注释。 3. 某个人或者某群人编写代码风格规范的时候因为 2 的缘故,所以加上了不准行尾注释这条,但是出发点可能只是因为很少看到行尾注释,所以看到行尾注释感觉不顺眼,并不清楚 1 的原因。因此搞了一刀切,一律不准(很可能也有一刀切方便贯彻的因素)。 | 
|      58cyspy      2019-07-27 15:06:13 +08:00 写 RDD、Stream 和 builder 的时候用行尾注释很自然 | 
|  |      59lavvrence      2019-08-05 14:40:31 +08:00 考虑代码+注释在屏幕上的长度。 |