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