Java 有没有类似 SwiftLint/clang-format 这样的自动化修复代码风格的工具?

2017-06-27 22:47:17 +08:00
 fly2never
SwiftLint 和 Clang-format 可以制定一份通用的代码风格(包括大括号位置), 然后可以用脚本调用, 自动纠正不符合规范的代码风格, 在 Java 中有类似的工具吗? 指定一套规则, 然后自动调用修正?
3972 次点击
所在节点    Java
17 条回复
Guaidaodl
2017-06-27 22:51:57 +08:00
Java IDE 都有找个功能
fly2never
2017-06-27 23:03:05 +08:00
@Guaidaodl 没办法形成统一的流程, 只能依靠大家每次提交代码前 调用一次 format
sagaxu
2017-06-27 23:06:13 +08:00
git 上部署好 style 检查,严格点再弄个 pmd 之类的工具,不好的代码禁止入库,比如复制粘贴很相似的,比如写死的数值和字符串字面值。
lzhr
2017-06-27 23:09:35 +08:00
eclipse 可以设置--保存时自动格式化
xd314697475
2017-06-27 23:17:22 +08:00
难道你不用 IDE ?
IDE 都有一个叫做代码格式化的功能。

eclipse:
右键-source-format 或者 快捷键 Ctrl+Shift+F
自定义代码风格 - window--> perferences --> java --> code style --> formatter,设置你的风格。

IntelliJ IDEA:
点击 Code - reformat code 按钮 或者 快捷键 Ctrl+Alt+L
自定义代码风格 - File --> setting --> Editor --> Code Style --> Java 开始你的操作
340244120
2017-06-27 23:41:01 +08:00
IDEA cmt 有自动 format 的 checkbox
zts1993
2017-06-27 23:46:09 +08:00
IDEA Eclipse 都有 hbase formatter 插件
可以参看 jedis 的
https://github.com/xetorthio/jedis/blob/master/hbase-formatter.xml
Sharuru
2017-06-27 23:56:28 +08:00
看标题我还以为你需要 SonarLint / SonarQube 这种提升代码质量的东西……

点进文章一看,你需要的只是一个 formatter.xml
qinxi
2017-06-28 00:45:06 +08:00
检查型: gradle 插件 checkstyle pmd
格式化: gradle 插件 googleJavaFormat
zacard
2017-06-28 08:55:02 +08:00
maven、gradle 都有代码风格检查插件
fly2never
2017-06-28 09:10:24 +08:00
@qinxi 这个靠谱, 我看下.
fly2never
2017-06-28 09:11:05 +08:00
@all 我其实需要的是一个自动跑的 formatter, IDE 中的不能自动跑, 必须放到 gradle task 中才行
C0dEr
2017-06-28 10:30:47 +08:00
@sagaxu git 怎么部署 checkstyle ?
21grams
2017-06-28 10:49:34 +08:00
clang-fomat 支持 java
fly2never
2017-06-28 14:45:56 +08:00
@21grams OVERVIEW: A tool to format C/C++/Java/JavaScript/Objective-C/Protobuf code.
真的唉, 我试一下
cbdyzj
2017-06-28 15:18:15 +08:00
java 的 ide 就是各种 lint 的集合 😄
YzSama
2017-06-28 23:18:35 +08:00
@zacard 有好的格式化插件介绍或教程吗?
一键格式化代码这种

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

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

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

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

© 2021 V2EX