V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
fly2never
V2EX  ›  Java

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

  •  
  •   fly2never · 2017-06-27 22:47:17 +08:00 · 3992 次点击
    这是一个创建于 2731 天前的主题,其中的信息可能已经有所发展或是发生改变。
    SwiftLint 和 Clang-format 可以制定一份通用的代码风格(包括大括号位置), 然后可以用脚本调用, 自动纠正不符合规范的代码风格, 在 Java 中有类似的工具吗? 指定一套规则, 然后自动调用修正?
    17 条回复    2017-06-28 23:18:35 +08:00
    Guaidaodl
        1
    Guaidaodl  
       2017-06-27 22:51:57 +08:00
    Java IDE 都有找个功能
    fly2never
        2
    fly2never  
    OP
       2017-06-27 23:03:05 +08:00
    @Guaidaodl 没办法形成统一的流程, 只能依靠大家每次提交代码前 调用一次 format
    sagaxu
        3
    sagaxu  
       2017-06-27 23:06:13 +08:00 via Android
    git 上部署好 style 检查,严格点再弄个 pmd 之类的工具,不好的代码禁止入库,比如复制粘贴很相似的,比如写死的数值和字符串字面值。
    lzhr
        4
    lzhr  
       2017-06-27 23:09:35 +08:00
    eclipse 可以设置--保存时自动格式化
    xd314697475
        5
    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
        6
    340244120  
       2017-06-27 23:41:01 +08:00 via Android
    IDEA cmt 有自动 format 的 checkbox
    zts1993
        7
    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
        8
    Sharuru  
       2017-06-27 23:56:28 +08:00
    看标题我还以为你需要 SonarLint / SonarQube 这种提升代码质量的东西……

    点进文章一看,你需要的只是一个 formatter.xml
    qinxi
        9
    qinxi  
       2017-06-28 00:45:06 +08:00
    检查型: gradle 插件 checkstyle pmd
    格式化: gradle 插件 googleJavaFormat
    zacard
        10
    zacard  
       2017-06-28 08:55:02 +08:00
    maven、gradle 都有代码风格检查插件
    fly2never
        11
    fly2never  
    OP
       2017-06-28 09:10:24 +08:00
    @qinxi 这个靠谱, 我看下.
    fly2never
        12
    fly2never  
    OP
       2017-06-28 09:11:05 +08:00
    @all 我其实需要的是一个自动跑的 formatter, IDE 中的不能自动跑, 必须放到 gradle task 中才行
    C0dEr
        13
    C0dEr  
       2017-06-28 10:30:47 +08:00
    @sagaxu git 怎么部署 checkstyle ?
    21grams
        14
    21grams  
       2017-06-28 10:49:34 +08:00   ❤️ 1
    clang-fomat 支持 java
    fly2never
        15
    fly2never  
    OP
       2017-06-28 14:45:56 +08:00
    @21grams OVERVIEW: A tool to format C/C++/Java/JavaScript/Objective-C/Protobuf code.
    真的唉, 我试一下
    cbdyzj
        16
    cbdyzj  
       2017-06-28 15:18:15 +08:00
    java 的 ide 就是各种 lint 的集合 😄
    YzSama
        17
    YzSama  
       2017-06-28 23:18:35 +08:00 via iPhone
    @zacard 有好的格式化插件介绍或教程吗?
    一键格式化代码这种
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4841 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 09:46 · PVG 17:46 · LAX 01:46 · JFK 04:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.