Skip to content

OO-guide-2019/pycheckstyle

Repository files navigation

pycheckstyle

基于checkstyle的python封装包

checkstyle原文档地址:http://checkstyle.sourceforge.net/cmdline.html

安装

准备工作

在正式安装之前,首先需要进行一些准备:

  • 完整的java环境(推荐使用Oracle Java 8
  • 完整的python环境(推荐使用python 3.5+
  • 【推荐】完整的pip3环境(推荐使用pip3 18.0或更高版本)
  • 相关系统依赖

安装jar包

首先将checkstyle.jar安装至系统内部。

sudo ./install.sh

注意:需要sudo权限

安装pycheckstyle

接下来安装pycheckstyle

sudo pip3 install .

注意:同样的,这步操作依然需要sudo权限

类似的,卸载pycheckstyle

sudo pip3 uninstall pycheckstyle

在安装和卸载的过程中,推荐使用pip进行操作,可以省去很多不必要的麻烦。

开始使用

在本包中,目前只内置了版本信息和基本的-c查询功能。后续还将根据需要进一步完善

获取使用的checkstyle版本信息

from pycheckstyle import *

if __name__ == "__main__":
    print(checkstyle_version)

输出:

Checkstyle version: 8.12

使用内置的模板进行代码风格检查

from pycheckstyle import *

if __name__ == "__main__":
    for message in SunStandard().check("/vagrant_data/java_projects/ips-project"):
        print(message.level, message.type, message.message)
        print(message.position)

此处程序使用了pycheckstyle内置的SunStandard模板,实际上包内还内置了一个名为GoogleStandard的模板,使用方法基本一样。

此外,check的对象可以是路径,也可以是单个文件。

使用自定义模板进行代码风格检查

方法和上面的例子基本类似,使用CheckStandard可以在构造函数中自定义模板位置

from pycheckstyle import *

if __name__ == "__main__":
    for message in CheckStandard("standards/google_checks.xml").check("/vagrant_data/java_projects/ips-project"):
        print(message.level, message.type, message.message)
        print(message.position)

更多技术细节,以及相关对象的方法可以自行阅读源代码。

About

基于Python3的checkstyle封装包

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published