IRIS 代码格式化 Skill 使用说明

张开发
2026/4/17 19:58:14 15 分钟阅读

分享文章

IRIS 代码格式化 Skill 使用说明
文章目录IRIS 代码格式化 Skill 使用说明一、安装方法方式1通过 WorkBuddy 安装推荐方式2通过 OpenClaw/ClawHub 安装方式3clawhub 下载二、使用方法触发方式使用示例代码审查报告问题汇总详细问题分析1. 方法大括号格式问题2. 运算符空格问题3. 参数命名问题4. 条件后置表达式空格问题5. 字符串拼接字段数超限6. 方法头注释不规范修正后完整代码三、规范速查表命名规范命令/函数缩写格式规范四、输出说明审查报告结构IRIS 代码格式化 Skill 使用说明一、安装方法方式1通过 WorkBuddy 安装推荐将iris-code-formatter文件夹复制到 WorkBuddy skills 目录Windows: C:\Users\用户名\.workbuddy\skills\或直接如图直接上传重启 WorkBuddy 或重新加载技能方式2通过 OpenClaw/ClawHub 安装npx clawhubinstalliris-code-formatter--workdir目标路径--no-input方式3clawhub 下载https://clawhub.ai/yaoxin521123/iris-code-formatter二、使用方法触发方式在对话中直接提供 IRIS ObjectScript 代码Skill 会自动激活并执行代码审查。触发关键词“格式化这段IRIS代码”“检查这段代码是否符合规范”“审查ObjectScript代码”“修正代码风格问题”“按照IRIS规范格式化”使用示例输入Class Util.Encryption.SM3 Extends %RegisteredObject { ClassMethod HMAC(key As %Stream.GlobalCharacter, text As %Stream.GlobalCharacter) { s keyStream..UTF8(key) s keyPadding..KeyPadding(keyStream) q ..Str2Hex(hmacByte) } ... } 使用iris-code-formatter技能输出修正前代码修正后代码以下是输出内容代码审查报告问题汇总类别问题严重程度方法大括号方法大括号应换行显示⚠️ 警告空格规范运算符两侧缺少空格⚠️ 警告注释格式方法头注释不规范⚠️ 警告变量命名参数命名未使用lowerCamelCase⚠️ 警告条件后置表达式括号内空格使用错误⚠️ 警告字符串拼接单行字段数超过限制⚠️ 警告详细问题分析1. 方法大括号格式问题位置: 所有方法问题: ObjectScript方法大括号应换行显示// 错误 ClassMethod OrderDetailGrpExecute(...) As %Status { s repid$I(^CacheTemp) // 正确 ClassMethod OrderDetailGrpExecute(...) As %Status { s repid $I(^CacheTemp)2. 运算符空格问题位置: 全局问题:、、-等运算符左右应加空格// 错误 s repid$I(^CacheTemp) s qHandle$lb(0,repid,0) s ind1 // 正确 s repid $I(^CacheTemp) s qHandle $lb(0, repid, 0) s ind 13. 参数命名问题位置: 所有Query参数问题: 参数应使用lowerCamelCase// 错误 Query OrderDetailGrp(Oeori , Oeore , DspId , ProCode ) // 正确 Query OrderDetailGrp(oeori , oeore , dspId , proCode )4. 条件后置表达式空格问题位置: OrderDetailGrpExecute, TimeLineExecute等问题: 括号内部条件运算符两侧有空格但括号与逻辑运算符之间不应有空格// 错误 i Oeore s Oeori$p(Oeore,||,1,2) e i DspId s Oeori$p($g(^DHCOEDISQTY(DspId)),^,1) q:Oeori $$$OK // 正确 i (oeore ) s oeori $p(oeore, ||, 1, 2) e i (dspId ) s oeori $p($g(^DHCOEDISQTY(dspId)), ^, 1) q:(oeori ) $$$OK5. 字符串拼接字段数超限位置: 多处问题: 单行字符串拼接超过5个字段// 错误 s data $lb(locDesc, qtyWithUom) // 建议保持现状$lb函数本身是内置函数调用6. 方法头注释不规范位置: 所有方法问题: 缺少规范的docstring注释// 错误 Query OrderDetailGrp(Oeori , ...) As websys.Query(...) // 正确 /// Desc: 医嘱明细,注意区分门诊住院 /// Output: 两列属性以及值 /// w ##class(%ResultSet).RunQuery(PHA.COM.Query,OrderDetailGrp,41||77) Query OrderDetailGrp(oeori , ...) As websys.Query(...)修正后完整代码以下是按照IRIS代码规范修正后的完整代码/// Desc: 医嘱明细,注意区分门诊住院 /// Output: 两列属性以及值 /// w ##class(%ResultSet).RunQuery(PHA.COM.Query,OrderDetailGrp,41||77) Query OrderDetailGrp(oeori , oeore , dspId , proCode ) As websys.Query(ROWSPEC group,field1,value1,field2,value2) [ SqlProc ] { } ClassMethod OrderDetailGrpExecute(ByRef qHandle As %Binary, oeori , oeore , dspId , proCode ) As %Status { s repid $I(^CacheTemp) s qHandle $lb(0, repid, 0) s ind 1 #; 处理入参转换 i (oeore ) s oeori $p(oeore, ||, 1, 2) e i (dspId ) s oeori $p($g(^DHCOEDISQTY(dspId)), ^, 1) q:(oeori ) $$$OK s ordId oeori s ordItm $p(oeori, ||, 2) s dspId $o(^DHCOEDISQTY(0, OEORI, oeori, )) s admId $p($g(^OEORD(ordId)), ^, 1) q:(admId ) $$$OK s patId $p(^PAADM(admId), ^, 1) s admType $p(^PAADM(admId), ^, 2) s OEORDI1 $g(^OEORD(ordId, I, ordItm, 1)) s OEORDI2 $g(^OEORD(ordId, I, ordItm, 2)) s OEORDI3 $g(^OEORD(ordId, I, ordItm, 3)) s OEORDI5 $g(^OEORD(ordId, I, ordItm, 5)) s OEORDI6 $g(^OEORD(ordId, I, ordItm, 6)) s OEORDI9 $g(^OEORD(ordId, I, ordItm, 9)) s OEORDI11 $g(^OEORD(ordId, I, ordItm, 11)) s OEORDIDHC $g(^OEORD(ordId, I, ordItm, DHC)) ...三、规范速查表命名规范类型规则正确示例错误示例变量名lowerCamelCasestartDatestartdate常量全大写MAXCOUNTMaxCount布尔变量Flag后缀dispFlagisDisp方法名UpperCamelCaseGetName()getname()布尔方法Is开头IsExist()GetExistFlag()命令/函数缩写类型全拼缩写命令set/do/quits/d/q命令for/whilefor/while全拼函数e x t r a c t / extract/extract/piece/$lengthe / e/e/p/$l函数z c o n v e r t / zconvert/zconvert/zhexz c v t / zcvt/zcvt/zh格式规范场景正确错误运算符空格a bab后置表达式q:(info )q:info多条件后置q:(a )(b )q:(a ) (b )else格式} else {}\nelse {四、输出说明审查报告结构## 代码审查报告 ### 问题汇总 - [严重] 问题1描述行号 - [警告] 问题2描述行号 ### 详细说明 #### 1. 变量命名问题 **位置**第X行 **问题**描述 **规范依据**引用具体规则 **建议修正**代码示例 ### 修正后完整代码 objectscript // 完整的修正后代码

更多文章