软件源代码验证和代码检查的便利工具
项目描述
VVV是一个工具,它简化了包含多种文件类型的软件项目的验证和代码检查集成。它与版本控制集成,并防止提交包含错误格式或语法错误的文件。
一个示例用例是一个包含HTML、CSS、JavaScript和后端编程语言文件的Web项目:使用VVV,您可以通过一条命令检查所有文件是否符合您设置的策略。
用法
从验证示例仓库输出的示例,我们在这个Python和CSS文件中发现了错误。您进入文件夹并运行vvv命令对当前文件夹(.)进行操作。
$ vvv . Running vvv against . /Users/moo/code/vvv/demo/demo.py validation output: ************* Module demo E0602: 1,9: Undefined variable 'get_magic' W3C CSS Validator results for file:/Users/moo/code/vvv/demo/foobar.css Line : 2 .foo Property backgrnd doesn't exist : yellow
安装
vvv是用Python编程语言编写的,与Python 2.7或更高版本解释器兼容,包括3.x系列。
优点
强制多开发者的代码约定
通过一条命令启用您的软件项目的代码检查和验证支持
自动引导提交者遵循策略指南,并让他们自己修复错误,而不是进行提交后的个人指导。
为所有流行的编程语言和文件格式提供合理的默认验证和代码检查选项
将VVV作为持续集成服务与Travis CI或Jenkins等系统一起运行,以拒绝糟糕的代码推送
VVV不做什么
这不是一个自动测试工具。我们只是将文件与策略进行扫描,而不是寻找编程错误。代码检查工具也会捕捉到编程错误,比如拼写错误。
功能
为您的软件仓库设置两个文件 validation-options.yaml(配置)和 validation-files.yaml(白名单/黑名单)
VVV 自动下载和本地安装所需软件 - 您无需花费时间寻找下载或分发包
检查文件与硬制表符和空白策略的一致性 - 永远不会有不同的制表符宽度
防止提交硬源代码断点,如 Python 的 import pdb ; pdb.set_trace()
支持(即将推出)Subversion、Git、Github、Travis CI、Jenkins 等流行版本控制和持续集成系统
文档和代码
请参阅 VVV 文档。
源代码可在 Github 上获取。请使用 Github 问题跟踪器联系作者。
探索不同的 linting 和验证器。
持续集成状态
与 Travis CI 的当前主干持续集成状态
变更日志
0.4.3 (2012-10-14)
运行演示的更好说明 [miohtama]
更优雅地处理缺少选项文件的情况 [miohtama]
添加 ZPT 验证器 [matejc]
RST 验证器的修复 [matejc]
Ghetto CI 在 Python 2.7 上运行 [miohtama]
0.4.2 (2012-06-30)
确认 Windows 兼容性 [jsalonen]
修复更多与错误的命令行选项相关的问题 [miohtama]
0.4.1 (2012-06-27)
更优雅地处理空/缺失的配置文件 [miohtama]
0.4.0 (2012-06-26)
添加 Python 2.7 兼容性 [miohtama]
重构文本插件以静默忽略错误的编码 [miohtama]
智能 git 预提交钩子;仅检查更改的文件 [miohtama]
添加 vvv-add-js-globals 辅助命令以一次性将 jslint 全局语句添加到多个 JavaScript 文件 [miohtama]
添加邪恶空格栏破坏者 [miohtama]
jshint 现在正确读取配置文件(以前由 Node.js 参数库进行非标准解析) [miohtama]
重新组织文档以包含工具部分 [miohtama]
0.2.4 - 0.2.5
依赖 docutils,因为 RST 验证器软依赖于此,但不能在宿主环境中安装 docutils [miohtama]
0.2.3 - 0.2.4
如果不在虚拟环境中,正确地从路径中获取 RST 验证器脚本 [miohtama]
0.2.2 - 0.2.3
更多 git 钩子静默安装边缘案例修复
0.2.1 - 0.2.2
安装预提交钩子时检测 vvv 命令位置的更智能方式 [miohtama]
集成文档更新 [miohtama]
0.2 - 0.2.1
修复了现在 PyPi README 页面再次完整后的更改日志格式化问题
0.1.1 - 0.2
添加 pylint-command 选项 [miohtama]
Ghetto-CI 持续集成脚本 [miohtama]
重构配置文件读取器以更美观 [miohtama]
现在您可以单独使用 VVV 文件 [miohtama]
VVV 可以在目录树中向上查找 validation-options.yaml 文件 [miohtama]
在 egg 上设置 zip_safe = False 以防万一 [miohtama]
0.1 - 0.1.1
添加到 README 中的 Github 链接 [miohtama]
0.1
初始版本