作者回复: 改得漂亮! 我真没有想到使用remain,语义会更清晰些。👍 类似的,参数名也不是很清晰,也可以改改。
作者回复: 如果名字没有超过20个字符,长一点也没关系。如果是代码内部使用标识符,要是使用它的代码还能保持在80个字符以内,再长一点也可以。毕竟,容易理解是最重要的。
确实有不方便的时候,可以使用首字母缩略词,比如把server name indication缩略成sni,使用类似于sniServerName这样的命名。 缩略语离开语境,就很难理解了,我们可以通过注释或者接口规范弥补这个缺陷,解释清楚缩略语代表什么意思,以及缩写的名字具体的含义。 比如说,
@param sniServerName the server name of a Server Name Indication (SNI)
作者回复: 是的,工具可以帮助我们查一查。
顺便的,FindBugs停止更新了,后继者是SpotBugs。前面的留言区有小伙伴提到过。
作者回复: 谢谢!
作者回复: 👏此处有掌声👏
作者回复: 第一个问题是个好问题。我还没有看到过这方面的书面规范。一般情况下,我使用的方法是按照参数的关联度,或者参数的逻辑关系。
比如,String.valueOf(char[] data, int offset, int count),最重要的是data,所以放在第一位。然后是从什么地方开始,使用多少个字符。
我们如果阅读这个方法的规范,它写的是“Returns the string representation of a specific subarray of the char array argument.” 首先提到的就是data这个参数,然后再说明data的附加条件。
我觉得可以试试,如何用语言把这个方法描述出来。参数出现的描述中顺序大致就可以是参数在方法中的出现顺序。
第二种初始化的顺序,也是我常用的顺序。
可能会有人觉得规范无聊,但是掌握了它的人都知道,好的规范,赏心悦目的代码,可以理清思路,提高效率,减少错误,减轻疲劳。只是大家不知道为什么好,就不知道为什么要规范。所以我也选择了一个不太讨好市场的方式,说了很多为什么好的道理。这确实不性感,不带劲!
我非常感谢你能给朋友推荐这个专栏。我希望这个专栏的打开方式是从这里看看为什么和一些小例子,找一个详尽的规范看看详细的怎么办,比如阿里巴巴的规范,Google的规范,Java自己的规范等等。然后,使用练手题练习一下,然后把学到的、认可的规范用到自己实际的代码里去。
写好代码,是一个长期的修行。我自己也在不停地琢磨怎么可以做的更好。共勉!
作者回复: 代码写的好看,真的心情好的。
作者回复: 😂坚持使用良好的变量命名,反过来也促进英文水平。
作者回复: 这种ApiResult的处理方式让我想起了C语言时代的错误处理方式。
作者回复: 谢谢。我对数据库比较陌生了,小伙伴们能不能帮着回答下这个问题?
> 如果多个(至少5个)方法调用同一个dao,这个dao要怎么命名好点?还是,以业务功能划分,把这个dao分开?
以前我做数据库代码的时候,数据库的设计一般按照业务逻辑来的。数据存取接口虽然不涉及具体的业务逻辑,但是由于数据库的设计是按照业务数据来做的,数据存取接口也是按照业务逻辑设计的。这样,接口的命名体现的也是业务数据处理的细分功能。命名的时候,也是使用业务的逻辑表达方式。
现代的数据库模型是什么样子的,我就不懂了。希望看留言区的小伙伴可以帮帮我。
作者回复: 不好意思,dao是什么意思?
作者回复: 嗯,又好了一点儿😄
作者回复: 👍
作者回复: 建议你使用驼峰命名方法。匈牙利命名方法是历史遗留产物了。
作者回复: 问题在另外一个留言里回复过了,你找找看看。
我也理解编码不规范的程序员,他们还没有养成习惯。很多问题,形成氛围就好了。我的同事们一般都比较直爽,有的时候会说,这段代码我看的比较费劲,你加一段注释;这段代码通常不这么处理,你为什么这么干,加一段注释;这个参数无效这么办,规范里写清楚。我自己非常享受这样的氛围。
这样的氛围形成之前,先把自己的代码弄好,然后看看能不能影响你觉得可以影响的人。