转行 Java,刚工作几个月,目前所在项目组是刚组的 Java 团队,所以没有人带 做的第一个项目就是一个班主任管理系统,主要是查,现在也上线了。 现在在做一个外教招聘系统,业务比较简单,后台的部分前后端都自己写 那么问题来了,虽然东西写出来能用,但是我总觉的心虚,总是觉得自己“不正规” 开发软件用的是 idea 装了阿里规范的插件,如果有提示我不规范的地方,我会立马改正 但是总是觉得自己还是有不规范的地方,具体我不知道,因为我如果知道我就改了
我的问题是,我怎么才能知道自己的代码是否规范,在没有指导,没有 code review 的情况下? 多读一些源码? 如果可以的话,还是比较希望有那种教程式的源码,因为一般代码,虽然有些地方好,但如果经验不足,你也不知道它好,更不知道好在哪里
总之,身为一个半路出身的 Java 程序员,怎么才能让自己的代码规范起来呢?有什么推荐的书籍或者教程吗?
1
lueffy OP 举个栗子吧
ORM 接数据,我都是 Java bean 和 数据库字段一模一样 (是用逆向工程生成的实体类) 但是新来的一个三年经验的小伙伴说这样不规范,如果数据库表有变动,就会有问题,应该用 VO 去映射表中的字段 balabala 然而其实我不是很懂 之前听一个朋友说他们公司都会有相关的规范,那么这些规范,或者惯例,我上哪儿去学习? |
2
jswh 2018-06-21 14:28:41 +08:00
做好 DRY, 做好 UT,距离干净的代码就走了一半。实在要看书,看看 clean code 吧
|
3
yogogo 2018-06-21 14:35:12 +08:00
偶尔看看 github 上面的代码,还有看书~
|
4
xiao7117 2018-06-21 14:35:33 +08:00
推荐:《重构-改善既有代码的设计》
|
5
Raymon111111 2018-06-21 14:36:56 +08:00
看看组里别的代码怎么写的
不知道怎么是规范的话, 和组里其他人保持一致也是好的 |
6
ren2881971 2018-06-21 14:40:30 +08:00
写好有效注释先。。
|
7
x7395759 2018-06-21 14:58:51 +08:00
代码规范并不是代码的格式规范,更多的是思想的规范,所以这不是一个一蹴而就的过程,需要在编写代码的不断的学习,记录,练习,进而成为一种习惯。
|
8
xiaowangge 2018-06-21 15:12:55 +08:00 1
|
9
blenderal 2018-06-21 15:13:36 +08:00 1
去考个阿里巴巴编码规范证书考一遍大致就知道那些规范了
|
10
yazoox 2018-06-21 17:04:20 +08:00
用 lint,机器比人靠谱。
多报几次错,多 fix 几个 bug,你就知道该如何“规范”代码了。 |
11
shanshuiwen 2018-06-21 17:40:20 +08:00
ide 装个阿里巴巴规范插件,有事没事扫一扫、看一看
|
12
shanshuiwen 2018-06-21 17:41:01 +08:00
写得多了,自然就规范了
|
13
hitmanx 2018-06-21 19:23:16 +08:00 1
我的理解,你说的更多的是“代码质量”而不是“代码规范”。
这个靠个人提高就比较难了,需要多看别人的代码还得经常去思考,但是很多情况下你不熟悉这个项目并且接触不到作者的话,基本只能看到代码是写成什么样,但是很难知道代码为什么要写成这个样,是有什么样的想法和背景在里面,哪些又是预留给未来扩展用的。 相对来说,如果你的项目,有牛人给你 code review 的话会进步快很多,因为你能从中学到东西,看到自己看不出的问题,学到更好的设计方法。自己看自己的代码很难看出问题,但是在别人尤其是有经验的开发者看来可能处处都是问题 |
14
nl101531 2018-06-21 19:40:28 +08:00 via Android
阿里 Java 开发手册啊
|
15
AltairT 2018-06-21 19:40:53 +08:00 via iPhone
我能说我自学时觉得应该是从数据库查询是返回 bean,然后根据情况决定到页面是否用再转换成 vo。
结果来的这家公司用的 spring,springmvc 加 jdbc 封装,前台是 jq jsp,好多地方都是查出二维数组,有的封装成 bean 更多是从数组拿值然后放到 jsp 页面…… |
16
mentalkiller 2018-06-21 20:18:21 +08:00
阿里有一个 java 代码规范,可以搜索下,还是比较权威的
|
17
MoHen9 2018-06-21 20:31:26 +08:00 via Android
谷歌不是有个 Java 代码规范吗?我觉得非常好,为什么不找来看看呢?
|
18
acupmvp 2018-06-21 20:47:00 +08:00
不必过于追求代码规范,将业务写清楚,代码写工整,可读性强即可。
你可以参考下我之前发的内容。应该可以开阔一些思路。 |
19
arthasgxy 2018-06-21 21:11:27 +08:00
搞数据的,我来说一下我的情况,权当听个笑话吧。
我因为上学的时候英语没听过课,所以可以说是个英语盲,会的英语单词不超过 3、5 十个的那种。 当然我也用不到 java,主要是用 python 和 sql,常用拼音来写变量 /字段,老大开玩笑说我拉低全组逼格,所以说起规范,可能我的规范是 0。 但现实是,别人实现不了的功能我能实现,同样的地方我不容易出错别人写就会出问题。(当然这话有点拽,但很多次证明至少我还是有些料的,这里就不细说了) 我的理解,写东西之前先多想想,哪怕再小的功能,用笔在本子上写写画画,拆解功能,再想想有什么可能出现的问题,记下来。比什么都管用。 最后当自己写的代码出问题的时候,修完再去多想想自己为什么会出问题,以后怎么来避免。 |
20
laudukang 2018-06-21 21:32:35 +08:00
Google Java Style Guide https://google.github.io/styleguide/javaguide.html
Google Java 编程规范(中文版) https://legacy.gitbook.com/book/jervyshi/google-java-styleguide-zh/details |
21
wdlth 2018-06-21 22:40:42 +08:00 1
装上 SpotBugs, PMD, SonarLint,规范标记可以打到你怀疑人生。
|
23
fuchaofather 2018-06-22 09:54:03 +08:00
可以参考阿里巴巴的规范. https://github.com/alibaba/p3c?spm=a2c4e.11153940.blogcont69327.9.49d74b623wPqPA
国内用这个规范的应该不少, |
24
specita 2018-06-22 09:57:26 +08:00
idea 装个 阿里的规范 插件
|
25
thinkmore 2018-06-22 10:17:14 +08:00 1
其实你这是不自信。
首先相信自己,其次你通过规约软件提醒你不符合规范的都改了,这很好,然后看看别人写的代码,学习写的好的地方。 有空看看你常用工具包的源码,看看大神怎么写的,比如 guava、commons 等。 |
26
Sirormy 2018-06-22 10:28:19 +08:00
当然是看规范咯
|