원클릭으로
pow10-rule-06-minimum-scope
NASA Power of 10 Rule 6 — Declare data at smallest possible scope. Severity: medium.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
NASA Power of 10 Rule 6 — Declare data at smallest possible scope. Severity: medium.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
NASA Power of 10 Rule 1 — Restrict control flow to simple constructs (no goto, setjmp/longjmp, recursion). Severity: blocker.
NASA Power of 10 Rule 2 — Every loop must have a statically determinable upper bound. Severity: blocker.
NASA Power of 10 Rule 3 — No dynamic memory allocation after initialization. Severity: blocker.
NASA Power of 10 Rule 4 — Functions ≤60 lines (one printed page). Severity: high.
NASA Power of 10 Rule 5 — Average ≥2 runtime assertions per function. Severity: high.
NASA Power of 10 Rule 7 — Check every non-void return value; validate every parameter. Severity: blocker.
| name | pow10-rule-06-minimum-scope |
| description | NASA Power of 10 Rule 6 — Declare data at smallest possible scope. Severity: medium. |
Severity: medium
Variables declared at the narrowest scope where they are used. No mutable globals or file-scope statics. When unavoidable, mark them const or guard with documented access protocols.
Narrow scope makes data hiding explicit, simplifies debugging, prevents accidental cross-scope mutation, and helps the compiler optimize register allocation. Globals hide ownership and create implicit coupling.
static/var mutated from multiple functionscompanion object / static class fields with varEncapsulate state in an instance owned by a single object. Pass dependencies explicitly. Declare locals at the point of first use. Prefer immutable bindings (const/final/val) over mutable.
const/final/val)Mark them clearly:
// Configuration loaded at init; immutable thereafter.
var config = mustLoadConfig()