转行 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 quickma 2018-06-21 14:58:51 +08:00 代码规范并不是代码的格式规范,更多的是思想的规范,所以这不是一个一蹴而就的过程,需要在编写代码的不断的学习,记录,练习,进而成为一种习惯。 |
![]() | 8 xiaowangge 2018-06-21 15:12:55 +08:00 ![]() |
![]() | 9 blenderal 2018-06-21 15:13:36 +08:00 ![]() 去考个阿里巴巴编码规范证书考一遍大致就知道那些规范了 |
![]() | 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 ![]() 我的理解,你说的更多的是“代码质量”而不是“代码规范”。 这个靠个人提高就比较难了,需要多看别人的代码还得经常去思考,但是很多情况下你不熟悉这个项目并且接触不到作者的话,基本只能看到代码是写成什么样,但是很难知道代码为什么要写成这个样,是有什么样的想法和背景在里面,哪些又是预留给未来扩展用的。 相对来说,如果你的项目,有牛人给你 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 ![]() 装上 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 ![]() 其实你这是不自信。 首先相信自己,其次你通过规约软件提醒你不符合规范的都改了,这很好,然后看看别人写的代码,学习写的好的地方。 有空看看你常用工具包的源码,看看大神怎么写的,比如 guava、commons 等。 |
26 Sirormy 2018-06-22 10:28:19 +08:00 当然是看规范咯 |