iris-code-formatter

🛡️ IRIS 代码规范自动化审查专家

InterSystems IRIS/ObjectScript 代码规范化工具,提供命名检查、格式审查、事务锁规范等自动化修正,提升医疗/金融核心系统代码质量。

收藏
5.1k
安装
1.1k
版本
1.0.7
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心功能

本技能专为 InterSystems IRIS 和 Cache ObjectScript 开发环境设计,提供企业级代码规范化能力:

1. 命名规范强制执行

  • 变量命名:强制 lowerCamelCase(如 startDate),禁止拼音英文混用,布尔变量以 Flag 结尾(如 dispFlag),禁用 is 前缀
  • 常量管理:全大写命名(如 MAX_COUNT
  • 方法命名:UpperCamelCase 动宾结构(如 GetPatientInfo),布尔返回方法以 Is 开头并声明 As %Boolean
  • Global 规范:临时 Global 强制 ^CacheTemp* 前缀,旧命名(^TEMP* 等)自动识别为违规

2. 事务与锁安全审查

  • 事务控制:强制简写小写(ts/tc/tro),禁止开放性事务(必须成对出现),禁止跨方法提交,首尾强制空行/注释隔离
  • 锁机制:强制 +/- 成对控制,必须带超时参数(如 :3 秒),禁止直接锁表结构 Global,自定义锁格式 ^产品组代码(产品线,规范代码:唯一标识)

3. 格式标准化

  • 缩进与空格:运算符两侧强制空格(a = b),方法内命令 4 空格缩进,大括号换行
  • 命令缩写set→squit→qdo→d,但循环结构 for/while 保留全拼以明确语义
  • 系统函数:统一缩写($extract→$e$piece→$p$length→$l$order→$o
  • SQL 格式:每行 5 字段,换行后 3 级缩进,命令小写,行尾逗号

4. 控制结构优化

  • 禁止 {}. 混用,推荐块级语法
  • if 嵌套不超过 3 层,多级 else 建议替换为 $case
  • 逻辑运算统一 &&/||,多条件后置表达式括号内运算符加空格、括号外不加(如 q:(a = 1)&&(b = 2)

5. 注释与文档

  • 类/方法头使用 /// 标准模板(含 desc/author/createDate/params/return/version/modify/debug)
  • 单行注释 #; ,行尾注释 //
  • 空行分割逻辑区块,事务首尾强制隔离

显著优势

  • 医疗金融场景适配:针对 HIS、EMR 等核心系统的 Global 操作、事务一致性有专门规范
  • 编译级格式检查:多条件表达式空格规则直接关联编译成败,避免运行时错误
  • 完整代码输出:审查后强制输出全量修正代码,杜绝"示例化"遗漏

潜在局限

  • 语言专用性:仅支持 ObjectScript,无法处理 Python/Java 等混合项目
  • 作者权威性:规范源自个人工程经验(454115408@qq.com),非 InterSystems 官方标准
  • 动态代码限制:运行时生成的代码难以静态审查

适合人群

  • InterSystems IRIS/Cache 后端开发工程师
  • 医疗信息化(HIS/EMR/集成平台)技术团队
  • 需通过代码评审提升系统稳定性的金融核心系统团队

常规风险

  • 误报可能:复杂宏展开或动态表达式可能被误判
  • 规范冲突:若团队已有自定义规范,需人工协调差异
  • 版本兼容性:部分缩写规则可能不适用于极旧版本 Cache

iris-code-formatter 内容

references文件夹
手动下载zip · 16.9 kB
代码规范 - 事务.mdtext/markdown
请选择文件