普通块通过串联、分支与公式实现逻辑解耦:按“输入→加工→判定→输出”分层拆解赋值语句,用语义化命名和备注替代硬编码,提取公共子逻辑为可复用独立块,并依托公式能力实现配置化与动态化。

普通块(即基础逻辑单元或可配置节点,如JVS逻辑引擎中的“定义变量”节点)本身不带复杂控制流,但通过合理组织多个普通块的串联、条件分支与公式表达,就能把一条冗长的变量赋值语句拆解为清晰、可调试、可复用的逻辑段。关键不是让单个块变复杂,而是让多个块各司其职、彼此解耦。
按语义分层:把一整条赋值语句拆成“输入→加工→判定→输出”四步
例如原语句:
orderAmount = (basePrice * qty) * (1 - discountRate) + shippingFee + taxAdjustment
直接写在一处,难读、难改、难复用。换成普通块方式:
- 输入块:分别定义 basePrice、qty、discountRate、shippingFee、taxAdjustment 五个变量,来源可以是上游接口、表单字段或默认值;
-
加工块:用一个“定义变量”节点,公式设为
basePrice * qty,输出名设为 subtotal; -
判定块:新增一个条件分支,判断
discountRate > 0,只在满足时执行“折扣后金额 = subtotal * (1 - discountRate)”;否则直接传递 subtotal; -
聚合块:最后用一个节点汇总:公式为
discountedAmount + shippingFee + taxAdjustment,输出为 orderAmount。
用命名和备注固化业务含义,替代硬编码逻辑
普通块本身无业务语义,但通过变量名+备注能快速传达意图。比如:
- 不叫
var1,而叫customerTierScore,并在备注里写:“基于近30天订单频次+客单价加权计算,用于分级优惠”; - 不写
if (x > 100) y = x * 0.95,而拆成两个块:一个叫“达标阈值判定”,输出布尔值;另一个叫“黄金会员折扣计算”,只在判定为真时触发; - 所有中间变量都带单位或上下文,如
inventoryAfterAllocation、finalApprovalStatus,下游节点一看就懂用途。
提取公共子逻辑为独立块,支持跨流程复用
当多个业务流程中反复出现同类计算(如“信用分折算”“税率自动匹配”“地址标准化清洗”),不要复制粘贴公式,而是:
- 新建一个专用“定义变量”节点,只做这一件事,比如命名为 CalculateCreditAdjustment;
- 输入参数用标准字段名(如
rawScore,scoreType),避免绑定具体业务字段; - 输出统一为
adjustedValue和adjustmentReason,下游无论来自订单、风控还是客服流程,都能一致引用; - 后续新流程只需拖入该块,填入对应输入,无需重写逻辑,修改也只需改一处。
配合公式能力,让静态赋值动态化、可配置化
普通块的真正弹性来自公式支持。避免把数值写死,转而用可维护的方式表达:
- 折扣率不用写
0.15,而写getSystemConfig("DEFAULT_DISCOUNT"),配置项集中管理; - 时间判断不用写
now() > "2026-06-01",而用isInPromotionPeriod("618")这类封装好的函数调用; - 字符串拼接不用
"ORD-" + year + "-" + seq,而用formatOrderNo(year, seq),便于后期加校验或换格式。

















