身为一个半路出身的 Java 程序员 如何规范代码

2018-06-21 14:19:00 +08:00
 lueffy

转行 Java,刚工作几个月,目前所在项目组是刚组的 Java 团队,所以没有人带 做的第一个项目就是一个班主任管理系统,主要是查,现在也上线了。 现在在做一个外教招聘系统,业务比较简单,后台的部分前后端都自己写 那么问题来了,虽然东西写出来能用,但是我总觉的心虚,总是觉得自己“不正规” 开发软件用的是 idea 装了阿里规范的插件,如果有提示我不规范的地方,我会立马改正 但是总是觉得自己还是有不规范的地方,具体我不知道,因为我如果知道我就改了

我的问题是,我怎么才能知道自己的代码是否规范,在没有指导,没有 code review 的情况下? 多读一些源码? 如果可以的话,还是比较希望有那种教程式的源码,因为一般代码,虽然有些地方好,但如果经验不足,你也不知道它好,更不知道好在哪里

总之,身为一个半路出身的 Java 程序员,怎么才能让自己的代码规范起来呢?有什么推荐的书籍或者教程吗?

4445 次点击
所在节点    Java
26 条回复
lueffy
2018-06-21 14:24:57 +08:00
举个栗子吧
ORM 接数据,我都是 Java bean 和 数据库字段一模一样 (是用逆向工程生成的实体类)
但是新来的一个三年经验的小伙伴说这样不规范,如果数据库表有变动,就会有问题,应该用 VO 去映射表中的字段 balabala
然而其实我不是很懂
之前听一个朋友说他们公司都会有相关的规范,那么这些规范,或者惯例,我上哪儿去学习?
jswh
2018-06-21 14:28:41 +08:00
做好 DRY, 做好 UT,距离干净的代码就走了一半。实在要看书,看看 clean code 吧
yogogo
2018-06-21 14:35:12 +08:00
偶尔看看 github 上面的代码,还有看书~
xiao7117
2018-06-21 14:35:33 +08:00
推荐:《重构-改善既有代码的设计》
Raymon111111
2018-06-21 14:36:56 +08:00
看看组里别的代码怎么写的

不知道怎么是规范的话, 和组里其他人保持一致也是好的
ren2881971
2018-06-21 14:40:30 +08:00
写好有效注释先。。
x7395759
2018-06-21 14:58:51 +08:00
代码规范并不是代码的格式规范,更多的是思想的规范,所以这不是一个一蹴而就的过程,需要在编写代码的不断的学习,记录,练习,进而成为一种习惯。
xiaowangge
2018-06-21 15:12:55 +08:00
《唯品会 Java 开发手册》 1.0 版

https://vipshop.github.io/vjtools/#/standard/
blenderal
2018-06-21 15:13:36 +08:00
去考个阿里巴巴编码规范证书考一遍大致就知道那些规范了
yazoox
2018-06-21 17:04:20 +08:00
用 lint,机器比人靠谱。
多报几次错,多 fix 几个 bug,你就知道该如何“规范”代码了。
shanshuiwen
2018-06-21 17:40:20 +08:00
ide 装个阿里巴巴规范插件,有事没事扫一扫、看一看
shanshuiwen
2018-06-21 17:41:01 +08:00
写得多了,自然就规范了
hitmanx
2018-06-21 19:23:16 +08:00
我的理解,你说的更多的是“代码质量”而不是“代码规范”。

这个靠个人提高就比较难了,需要多看别人的代码还得经常去思考,但是很多情况下你不熟悉这个项目并且接触不到作者的话,基本只能看到代码是写成什么样,但是很难知道代码为什么要写成这个样,是有什么样的想法和背景在里面,哪些又是预留给未来扩展用的。

相对来说,如果你的项目,有牛人给你 code review 的话会进步快很多,因为你能从中学到东西,看到自己看不出的问题,学到更好的设计方法。自己看自己的代码很难看出问题,但是在别人尤其是有经验的开发者看来可能处处都是问题
nl101531
2018-06-21 19:40:28 +08:00
阿里 Java 开发手册啊
AltairT
2018-06-21 19:40:53 +08:00
我能说我自学时觉得应该是从数据库查询是返回 bean,然后根据情况决定到页面是否用再转换成 vo。

结果来的这家公司用的 spring,springmvc 加 jdbc 封装,前台是 jq jsp,好多地方都是查出二维数组,有的封装成 bean 更多是从数组拿值然后放到 jsp 页面……
mentalkiller
2018-06-21 20:18:21 +08:00
阿里有一个 java 代码规范,可以搜索下,还是比较权威的
MoHen9
2018-06-21 20:31:26 +08:00
谷歌不是有个 Java 代码规范吗?我觉得非常好,为什么不找来看看呢?
acupmvp
2018-06-21 20:47:00 +08:00
不必过于追求代码规范,将业务写清楚,代码写工整,可读性强即可。
你可以参考下我之前发的内容。应该可以开阔一些思路。
arthasgxy
2018-06-21 21:11:27 +08:00
搞数据的,我来说一下我的情况,权当听个笑话吧。

我因为上学的时候英语没听过课,所以可以说是个英语盲,会的英语单词不超过 3、5 十个的那种。
当然我也用不到 java,主要是用 python 和 sql,常用拼音来写变量 /字段,老大开玩笑说我拉低全组逼格,所以说起规范,可能我的规范是 0。

但现实是,别人实现不了的功能我能实现,同样的地方我不容易出错别人写就会出问题。(当然这话有点拽,但很多次证明至少我还是有些料的,这里就不细说了)
我的理解,写东西之前先多想想,哪怕再小的功能,用笔在本子上写写画画,拆解功能,再想想有什么可能出现的问题,记下来。比什么都管用。
最后当自己写的代码出问题的时候,修完再去多想想自己为什么会出问题,以后怎么来避免。
laudukang
2018-06-21 21:32:35 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/464714

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX