# Go — complexity smells (detection only, no `fix:` → Track B / semantic). id: go-deep-nesting language: Go severity: warning message: "Deeply nested conditional (>=3 levels) — consider early returns." rule: kind: if_statement inside: kind: if_statement stopBy: end inside: kind: if_statement stopBy: end --- id: go-long-param-list language: Go severity: warning message: "Long parameter list (>=5) — consider a struct parameter." rule: kind: parameter_list has: kind: parameter_declaration nthChild: 5 --- id: go-magic-number language: Go severity: info message: "Magic number in an expression — consider a named constant." rule: all: - kind: int_literal - not: { regex: "^(0|1|2|10|100|1000)$" } - inside: { kind: binary_expression } # Skip literals already named via const/var declaration. - not: { inside: { kind: const_spec, stopBy: end } } - not: { inside: { kind: var_spec, stopBy: end } }