
<img src="https://img.shields.io/maven-central/v/com.lemonappdev/konsist?label=Release"/>
Konsist 是一个代码检查工具,通过强制实施一致的代码结构和统一的架构来保证 Kotlin 项目的一致性。Konsist 的检查规则以单元测试的形式编写(JUnit / Kotest)。
// Gradle Kotlin: testImplementation("com.lemonappdev:konsist:0.15.1") // Gradle Groovy: testImplementation "com.lemonappdev:konsist:0.15.1" // Maven: <dependency> <groupId>com.lemonappdev</groupId> <artifactId>konsist</artifactId> <version>0.15.1</version> <scope>test</scope> </dependency>
查看 Konsist 文档 了解更多关于 Konsist 的信息,并查看入门指南。
Konsist API 反映了 Kotlin 代码的结构。所有声明,如类、函数和属性,都可以通过 Konsist API 进行查询和验证。请看以下几个例子。
@Test fun `以'UseCase'为后缀的类应该位于'usecase'包中`() { Konsist.scopeFromProject() .classes() .withNameEndingWith("UseCase") .assertTrue { it.resideInPackage("..usecase..") } }
@Test fun `继承'ViewModel'的类应该以'ViewModel'为后缀`() { Konsist.scopeFromProject() .classes() .withAllParentsOf(ViewModel::class) .assertTrue { it.name.endsWith("ViewModel") } }
@Test fun `带有'Repository'注解的接口应该以'Repository'为后缀`() { Konsist .scopeFromProject() .interfaces() .withAllAnnotationsOf(Repository::class) .assertTrue { it.hasNameEndingWith("Repository") } }
@Test fun `清洁架构层具有正确的依赖关系`() { Konsist .scopeFromProduction() .assertArchitecture { // 定义层 val domain = Layer("Domain", "com.myapp.domain..") val presentation = Layer("Presentation", "com.myapp.presentation..") val data = Layer("Data", "com.myapp.data..") // 定义架构断言 domain.dependsOnNothing() presentation.dependsOn(domain) data.dependsOn(domain) } }
查看我们的代码片段页面,获取更多示例!
阅读 Konsist 文章,获取有关维护项目一致性的最佳实践和策略的宝贵见解。
在 kotlinlang Slack 工作空间的 #konsist 频道留言(首选)或开启 GitHub 讨论。
请务必查看 Konsist 的贡献指南,了解如何支持该项目。
Konsist 根据 Apache License(版本 2.0)的条款分发。有关详细信息,请参阅 LICENSE.md。

一站式AI短剧创作平台
Pixmax专注打造下一代“ AI 视觉创作引擎”,整合行业顶尖 AI 大模型、工工业级精准控制及企业级协同管理功能,是全方位的 AI 内容创作平台。


字节跳动旗下 AI 智能助手
字节跳动旗下 AI 智能助手


GPT充值
支持 ChatGPT Plus / Pro 充值服务,支付便捷,自动发货,售后可查。


AI 图片生成平台
GPT Image 2 是面向用户的 AI 图片生成平台,支持文生图、图生图及多模型创意工作流。


你的AI Agent团队
Vecbase 是专为 AI 团队打造的智能工作空间,将数据管理、模型协作与知识沉淀整合于一处。算法、产品与业务在同一平台无缝协同,让从数据到 AI 应用的落地更快一步。


全球首个AI音乐社区
音述AI是全球首个AI音乐社区,致力让每个人都能用音乐表达自我。音述AI提供零门槛AI创作工具,独创GETI法则帮助用户精准定义音乐风格,AI润色功能支持自动优化作品质感。音述AI支持交流讨 论、二次创作与价值变现。针对中文用户的语言习惯与文化背景进行专门优化,支持国风融合、C-pop等本土音乐标签,让技术更好地承载人文表达。


阿里Qoder团队推出的桌面端AI智能体
QoderWork 是阿里推出的本地优先桌面 AI 智能体,适配 macOS14+/Windows10+,以自然语言交互实现文件管理、数据分析、AI 视觉生成、浏览器自动化等办公任务,自主拆解执行复杂工作流,数据本地运行零上传,技能市场可无限扩展,是高效的 Agentic 生产力办公助手。


一站式搞定所有学习需求
不再被海量信息淹没,开始真正理解知识。Lynote 可摘要 YouTube 视频、PDF、文章等内容。即时创建笔记,检测 AI 内容并下载资料,将您的学习效率提升 10 倍。


为AI短剧协作而生
专为AI短剧协作而生的AniShort正式发布,深度重构AI短剧全流程生产模式,整合创意策划、制作执行、实时协作、在线审片、资产复用等全链路功能,独创无限画布、双轨并行工业化工作流与Ani智能体助手,集成多款主流AI大模型,破解素材零散、版本混乱、沟通低效等行业痛点,助力3人团队效率提升800%,打造标准化、可追溯的AI短剧量产体系,是AI短剧团队协同创作、提升制作效率的核心工具。


能听懂你表达的视频模型
Seedance two是基于seedance2.0的中 国大模型,支持图像、视频、音频、文本四种模态输入,表达方式更丰富,生成也更可控。
最新AI工具、AI资讯
独家AI资源、AI项目落地

微信扫一扫关注公众号