1. 聚能聊>
  2. 话题详情

你觉得代码规范重要吗?如何快速提高代码质量?

《阿里巴巴Java开发手册》于2017年2月9日首次公布,瞬间引起全民代码规范的热潮。2017年9月底,阿里巴巴集团发布了《阿里巴巴Java开发手册》PDF终极版,2017年10月14日,在2017杭州云栖大会上,规约插件全球首发。

screenshot

插件全球首发仪式

经过247天的研发,阿里巴巴于10月14日上午9:00在杭州云栖大会《研发效能峰会》上,正式发布《阿里巴巴Java开发手册》扫描插件。阿里巴巴高年级同学毕玄、玄难、索尼、叶渡,淘宝代码第一人多隆、代码规约作者孤尽携手《手册》项目组其他同学,以及业界规约生态代表等重磅大咖联合发布阿里巴巴代码规约插件!就在今天,他们正式地通知全世界开发同学:插件可以下载啦!体验令人激动的自动化、智能化的插件协同工作,你们值得拥有!该插件由阿里巴巴P3C项目组研发。P3C是世界知名的反潜机,专门对付水下潜水艇,寓意是扫描出所有潜在的代码隐患。这个项目组是阿里巴巴开发爱好者自发组织形成的虚拟项目组,把《阿里巴巴Java开发手册》强制条目转化成自动化插件,并实现部分的自动编程。

插件是什么?

《阿里巴巴Java开发手册》自从第一个版本起,倍受业界关注,相信很多人对其中的规则也有了一定的了解,很多人甚至希望能尽快在自己的团队推行起来,这样大家有了一套共同的开发准则。但是,如何更好的去遵守规则并且按照手册去开发我们的系统确变得不那么容易,为了让开发者更加方便、快速的将规范推动并实行起来,阿里巴巴基于手册内容,研发了一套自动化的IDE检测插件(IDEA、Eclipse), 该插件在扫描代码后,将不符合《手册》的代码按Blocker/Critical/Major三个等级显示在下方,甚至在IDEA上,我们还基于Inspection机制提供了实时检测功能,编写代码的同时也能快速发现问题所在。对于历史代码,部分规则实现了批量一键修复的功能,如此爽心悦目的功能是不是很值得拥有?提升代码质量,提高团队研发效能,插件将会一路同行。

插件安装

IDEA版的插件已发布到IDEA官方仓库中(最低支持版本14.1.7,JDK1.7+),只需打开 Settings >> Plugins >> Browse repositories 输入 Alibaba 搜索一下便可以看到对应插件了,点击安装等待安装完成。至于如何使用请大家到官方Github仓库中进行查看。IDEA会自动检测插件新版,并提示出来,所以大家不用担心插件的更新问题。

Eclipse版插件支持4.2(Juno,JDK1.8+)及以上版本,我们提供自主的Update Site,通过 Help >> Install New Software 然后输入https://p3c.alibaba.com/plugin/eclipse/update 即可看到安装列表。大家可以通过 Help >> Check for Udates 进行插件新版检测。

装好插件,我随便拿了一个项目扫描了一下,发现有这么多的不规范o(╥﹏╥)o

screenshot

我们来聊聊~~~

你觉得代码规范重要吗?

如何快速提高代码质量?

在写代码时有什么好的习惯?来分享下

参与话题

奖品区域 活动规则 已 结束

  • 奖品一

    阿里云代金券 x 5

  • 奖品二

    优酷VIP月卡 x 1

  • 奖品三

    手机话费 x 3

69个回答

3

夏之冰雪 已获得阿里云代金券 复制链接去分享

俗话说,无规矩不成方圆。

  1. 你觉得代码规范重要吗?
    非常重要,好处有很多,比如:
  2. 让整个项目代码风格保持一致,代码具有整体感、不杂乱。
  3. 在处理一些特定代码调整、代码清理等情况下,需要搜索代码。统一代码风格,可以更容易编写正则进行搜索。
  4. 代码规范不仅仅规范了缩进、单双引号、是否驼峰、等等。还会规范一些编码习惯,从根本上杜绝一些bug、漏洞,比如对于弱语言,统一采用===进行强等判断,禁止使用弱等判断。
  5. 对于新人而言,特别是实习生和即将毕业的学生。一家公司如果有好的代码规范,也可以有助于提升新人的编程素养。
  6. 如何快速提高代码质量?
    代码规范、code review、单元测试,这些都是好的方法。

不过这里再说几点想法。
有的公司只知道一味地推进这些方法,导致开发人员疲于code review,疲于编写单元测试。我觉得好的企业技术架构,应该要思考“如何减少人力成本”。比如code review,我们可以对git或者svn增加钩子,每次提交都有脚本自动检查代码规范问题、常见错误。这样一来,开发人员在code review时,可以更多的关注业务流程,而非代码质量。提高code review速度,代码质量自然会提升。
企业维护一套编码手册,或者是文档,记录发生过的代码质量问题,并定期梳理和汇总,最重要的一点是,这个东西一定要让人看。只总结,大家不去看,也没用。
对于新人,会让他们去读一些经典书,比如《重构改善既有代码设计》。
所有同事,采用统一的开发环境,统一的编辑器,统一的代码插件,并生成统一安装包对外提供。

  1. 在写代码时有什么好的习惯?来分享下
  2. 我不喜欢设计模式,也不喜欢过多的依赖、耦合、过度封装。
  3. 还有,我认为编写代码要根据当下的业务而定。比如我所在的业务,是面向移动互联网,业务需求、用户并发、技术调整都非常快,所以我写代码的时候,一直强调“编写可删除的代码”。大概意思就是,写完的某个功能代码,一旦说下线,我可以很快的给它删干净,和其它业务尽可能少的有耦合。不过这样也会带来一些其他问题,比如配置重复,每个功能都有自己的一套。
  4. 人生苦短,我用python。
  5. 看开源项目,去github看知名项目源码,从中学习提升编码能力。
大中小然然 回复

非常感谢

评论
1

浮生递归 已获得手机话费 复制链接去分享

你觉得代码规范重要吗?
看项目规模,项目越大,需要的维护、沟通也越多,规范就越重要。小的项目,一个人独自完成,后期也不会有维护,总共也没多少行代码,就无所谓了。不过如果在大项目已经养成了规范的习惯,在小项目也会自然而然的按照规范来的。习惯很重要。

如何快速提高代码质量?
工欲善其事,必先利其器。当然是用插件啦。比如这话题里的java规约插件就很好。天天在那里写代码为了提高别人的工作效率,自己的代码效率却上不来,那不是很可笑?不过很多时候,并没有这么多合适的工具,那就只能靠自己的优良习惯了。多看看大神们的代码,也能快速提高。

在写代码时有什么好的习惯?来分享下
习惯性的ctrl+s算不算好习惯?还有时不时的格式化下源代码,格式整齐,看着也舒服些,写起代码来,也会更顺手。

找创业团队 回复

有想互联网创业的兄弟么?

yahoo 回复

好东西。俗话说会者不难难者不会

评论
1

巴洛克上校 已获得手机话费 复制链接去分享

你觉得代码规范重要吗?
重要,否则一人一个样,写出来的东西真的是很难维护,例如在一家公司花钱开发了一个app,由于矛盾换了一家但为成本考虑不打算重新来过想再基础上改,一般的公司都不愿意接这种活,而且还要看代码决定是否可以接着做,如果说标准全部能统一就免去了很多麻烦,

如何快速提高代码质量?
统一学习规范,审查代码,建立惩罚制度,

在写代码时有什么好的习惯?来分享下
缩进 空格手动添加

来个话费吧

1

海洋的云 已获得阿里云代金券 复制链接去分享

你觉得代码规范重要吗?
代码规范很重要,尤其是在进行团队合作时。
如何快速提高代码质量?
主要还是在于细心,在于平时的积累。
在写代码时有什么好的习惯?来分享下
会把曾经写过的代码整理注释,方便以后在实现某个同类功能时查阅。在学习一些技术资料时,如果发现有更好的实现代码时,会收藏起来,并将以前的代码进行优化。不断地学习不断地沉淀,可以不断提升代码质量。

1

李沃晟 已获得阿里云代金券 复制链接去分享

_2017_10_19_9_40_06
刚刚装了在IDEA上的插件,覆盖重写不注明都会报错,代码习惯一直不好,希望这个插件可以帮我“矫正”吧!
1.你觉得代码规范重要吗?
非常重要
2.如何快速提高代码质量?
送分题,插件搞都出来了,代码质量不是蹭蹭的往上。正在学习阿里的java规范
3.在写代码时有什么好的习惯?来分享下
class的驼峰命名法,还有格式啊,该缩进的缩进,重写覆盖写清楚。

1

陈序婷 已获得优酷VIP月卡 复制链接去分享

你觉得代码规范重要吗?
当然重要,写代码和写作文其实是有一些共性:
1.代码可能还需要润色修改
2.代码可能会被他人接手
但是代码又不像作文那样能够快速理解,多一个符号都有很大不同。举一个简单的例子:$a=$b,$a=&$b
所以对齐和合理的注释是非常必要的,减少自己后期或者他人接手时的劳动
如何快速提高代码质量?在写代码时有什么好的习惯?来分享下
这两点我合并答一下,正如我上面写的,为了让自己和他人看起来更方便(甚至不是更舒服,舒服还是次要的)对齐,对齐,对齐,注释,注释,注释。即使我的代码还在起步的水平,但是我坚持这两点,我相信对以后会有一些帮助。

0

无辜 已获得手机话费 复制链接去分享

你觉得代码规范重要吗?
代码规范的重要性不言而喻。代码不仅仅是为了实现功能而设计,除此之外,代码还对后期的扩展与维护奠定基础。规范的代码,一方面在可读性与实用性上凸显优势;另一方面,在美学方面,规范的代码对之后的阅读者来说也是一种享受。代码讲究规范性,期初看来是对程序员编程习惯的纠正与突破,以往的编程更多是为了快速实现开发,只有开发者本身比较了解其含义与作用,而后期的交接却要浪费额外的时间和精力去理解,而如果在开发过程中按照约定俗成的规范去进行代码的编写,那么可以节省一定的人力,物力和财力。代码规范对程序员本身来说,不用花费额外的时间和精力去理解自己和别人的代码,而可以将节省的时间用于提升自身。

如何快速提高代码质量?
成功没有捷径。编程习惯的养成不是一朝一夕的,是需要程序员在常年的开发中逐渐形成的,当然还可以借助一些工具来帮助缩短周期,比如上述的插件以及其他的代码检测工具,当习惯养成之后,去改变可以不容易哟。
在写代码时有什么好的习惯?
在开发中,我会先把思路写下来,可能刚开始写的时候比较零散和乱,但在开发完成和业务稳定之后,会根据确定的业务方案去完善期初的思路。除此之外,在阿里插件出现之前会使用一些其他的代码工具进行检测,现在插件出来之后也再使用插件进行帮助。

0

尼古拉斯雷 已获得阿里云代金券 复制链接去分享

你觉得代码规范重要吗?

很重要,优雅的代码风格,会使人有兴趣的看下去。如果,不按规范写,有时候自己都不知道自己写的是什么,别人也不愿意看(反正我就是)。而且我最讨厌写代码不规范和写垃圾代码。

如何快速提高代码质量?

说实话,阿里云的开发手册,真的让我纠正了以前的一些不规范的地方。很受益,感谢。
所以,我推荐多看看阿里云的Java开发手册,来提高代码质量。

在写代码时有什么好的习惯?来分享下

时刻提醒自己,不能写垃圾代码和写不规范的代码。
还是要养成一个习惯,一个良好的编码习惯

1

无崖子师傅 复制链接去分享

1、不言而喻,代码规范很重要。它是质量的保证,也是提高代码可维护性的重要因素
2、本质上需要从思想上让开发人员对待质量有敬畏之心,其他都是辅助
3、有很多工具:工具层面 持续集+sonarqube、方法上代码评审 结对编程

1

北方的郎 复制链接去分享

你觉得代码规范重要吗?
重要,很重要,非常重要。

如何快速提高代码质量?
代码规范,Code Review, Peer Review,一些奖惩制度。

在写代码时有什么好的习惯?来分享下
最重要的一点:不论写什么,没事ctrl+S 保存一下总是好的。

0

sea-line 复制链接去分享

你觉得代码规范重要吗?
很重要呀。个人开发时候感觉不到重要性,但是在团队合作的时候就显得非常重要了,大家的规范一样才能互相快速读懂代码,在开发大型项目才能合作顺利,不然返工非常费时费力
如何快速提高代码质量?
多看github,码云上的优秀的开源项目代码,跟代码写的好的人多交流
在写代码时有什么好的习惯?
多写注释,格式化代码,看起来美观

0

michael.lee 复制链接去分享

我觉得很重要。主要体现在如下方面:

  1. 能规避前人已经踩过的坑,一定程度上提高程序的健壮性。
  2. 提高代码的可读性和可维护性;
    3.提高代码reviewing效率。
0

1673507704167195 复制链接去分享

真棒,只有有规范才行

0

虚心的大熊 复制链接去分享

国家政策都在逐步规范你说重不重要?

0

找创业团队 复制链接去分享

帮忙开发个app的有木有

0

我很喜欢 复制链接去分享

去那儿学习?

0

lskword 复制链接去分享

代码规范前期可能麻烦点,但是付出就会有回报,后期维护,检查,都非常方便!

0

1704809642347183 复制链接去分享

这么高端的话题,我目瞪口呆,不过我知道代码写的越简洁越好!

0

fsxchen 复制链接去分享

必须重要,好的命名规范,以后自己读代码的时候都能清楚明白一些。

0

1841808465820410 复制链接去分享

挺重要的

4
10567
浏览
0
收藏
邀请他人互动
在云上签发Symantec、WoSign、CFCA证书,实现网站HTTPS化,使网站可信,防劫持、防篡改、防监听...

一站式提供企业即时通讯、销售管理、协同办公。

基于深度学习技术及阿里巴巴多年的海量数据支撑, 提供多样化的内容识别服务,能有效帮助用户降低违规风险。其产品包括...

为您提供简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效率,降低 IT 成本...