核心功能
本技能专为 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→s、quit→q、do→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