登录 注册
开发者工具效率与办公工具 compiler-pluginlintermacrosscala
1,103
Stars
116
Forks
29
Watchers
100
Open Issues
Apache-2.0
许可证
Scala
语言
2013-01-05
创建时间
2026-11-10
最近更新

项目能做什么

WartRemover 是一款灵活的 Scala 代码静态检查(Linting)工具。它主要作为编译器插件使用,基于宏(macros)等技术,帮助开发者在编译阶段排查并规范代码中的不良写法或潜在问题,提升 Scala 代码的质量与安全性。
来源:AI 基于仓库事实生成 · 内容以仓库实际 README 为准

使用说明 查看原始 README 原仓库文档

中文使用说明暂未生成。下面保留原仓库 README 摘录,命令与配置均以原文为准。
原始 README 摘录(英文原文,节选前 3000 字符)
# WartRemover

[![scaladoc](https://javadoc.io/badge2/org.wartremover/wartremover_3/javadoc.svg)](https://javadoc.io/doc/org.wartremover/wartremover_3/latest/org/wartremover/warts.html)
[![Maven Central](https://img.shields.io/maven-central/v/org.wartremover/wartremover_3?label=Maven%20Central&color=%236DBE42)](https://central.sonatype.com/artifact/org.wartremover/wartremover_3)

WartRemover is a flexible Scala code linting tool.

## Documentation

Documentation for Wartremover is available [here](https://www.wartremover.org).

## Reporting Issues

It's very useful to get the tree expanded by the Scala compiler,
rather than the original source. Adding the `-Vprint:typer` flag to
the Scala compiler will show code like the following:

```scala
// println("Hello world")
package $line4 {
  object $read extends scala.AnyRef {
    def <init>(): $line4.$read.type = {
      $read.super.<init>();
      ()
    };
    object $iw extends scala.AnyRef {
      def <init>(): type = {
        $iw.super.<init>();
        ()
      };
      object $iw extends scala.AnyRef {
        def <init>(): type = {
          $iw.super.<init>();
          ()
        };
        private[this] val res1: Unit = scala.this.Predef.println("Hello world");
        <stable> <accessor> def res1: Unit = $iw.this.res1
      }
    }
  }
}
```

Adding the generated code to an issue is very useful for debugging.

## License

[The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)
阅读完整原文

项目深度分析 AI 生成

企业级 Scala 安全与规范合规规则包及定制开发服务

产品构想针对金融、大数据等 Scala 常用领域企业,提供高标准的定制 WartRemover 规则集(如并发陷阱、数据脱敏、特定框架规范),并提供专家级规则代写服务。
核心功能开箱即用的高阶合规规则集、企业专有 DSL/规则扩展 SDK、编译器插件规则定制开发与答疑支持。
目标用户金融科技公司、大数据基础设施团队(如 Spark/Flink 深度使用企业)、Scala 规范要求极高的企业工程团队。
难度/周期高(需要深入理解 Scala 编译器内部 AST、类型系统及宏机制) · 2 - 4 个月 · 成本:极低(主要是资深 Scala 开发者的脑力与研发时间成本)
收费模式规则集订阅授权(年费)或高级定制咨询按项目/工时收费。
竞争风险目标受众相对小众;企业通常倾向于内部自己编写轻量级检查规则或接受开源默认规则,付费转化路径长。
依据 AI推测

基于 WartRemover 的代码审查云原生 SaaS 机器人

产品构想构建与 GitHub/GitLab 集成的 CI/CD Bot,在 PR 阶段直接运行增强版 WartRemover,提供可视化代码坏味道趋势分析、违规警告自动转 PR 评论及一键自动重构建议。
核心功能零配置 CI 接入、增量 PR 差异分析与行内评论、质量演进仪表盘、代码自动修复建议(Auto-fix patches)。
目标用户使用 GitHub/GitLab 进行协同的中小型 Scala 开发团队、开源项目维护者。
难度/周期中等(主要在于云端编译器沙箱运行性能与 CI Webhook 架构设计) · 1 - 3 个月 · 成本:中等(需要提供托管构建/编译环境的云服务器算力成本)
收费模式按仓库/活跃开发者按月订阅(Freemium 模式)。
竞争风险市场上有 SonarQube、Codacy、Datadog 等成熟多语言竞品竞争,单一语言且偏小众的工具获客成本极高。
依据 尚需验证的假设

Scala 2 到 Scala 3 平滑迁移分析与现代化改造套件

产品构想利用编译期 AST 检测能力,开发专门辅助存量代码从 Scala 2.12/2.13 向 Scala 3 升级的 Wart 规则和现代化静态分析工具包,结合人工咨询提供迁移方案。
核心功能针对 Scala 3 不兼容特性的特定 Wart 检测、语法现代化建议生成、依赖库迁移就绪性静态评估报告。
目标用户正在推进 Scala 3 迁移升级的企业工程部门、技术决策者。
难度/周期高(必须同时精通 Scala 2 和 Scala 3 编译期机制与语法差异) · 2 - 3 个月 · 成本:极低(本地研发测试,主要是技术门槛)
收费模式迁移分析工具企业许可证销售、升级咨询与实施技术服务费。
竞争风险Scala 3 官方已具备一定的迁移工具(如 Scalafix),项目需形成独特的高价值壁垒才具备商业变现可能。
依据 尚需验证的假设
AI 基于仓库公开数据分析生成,含推测成分,不构成收益承诺。
报告会保存到 个人中心

竞品与相似项目 GitHub Search 真实检索

相似项目数据正在完善中,暂不展示(避免误导)

项目优势与风险

技术成熟度创建于 2013-01-05,近 30 天仍在推送,发布过 27 个 Release
社区活跃Star 1,103 / Fork 116 / Issue 100(数据支持,可自行核实)
许可证Apache-2.0
主要风险上游项目方向可能变化;同赛道竞争者较多(见竞品表);热度与需求不完全等价

安装与使用

此项目未提供 Docker 镜像,安装步骤以原仓库 README 为准(涉及依赖安装与环境配置,对新手门槛较高)。