{
"id": "oop-state-behavior-candidate",
"language": "all",
"group": "maintainability",
"listingTitle": "Centralize repeated state-dependent behavior",
"title": "Centralize repeated state-dependent behavior",
"mvvm": false,
"defaultSeverity": "info",
"legacyGroup": "maintainability",
"why": "Repeated switches on mutable state distribute lifecycle behavior.",
"suggestion": "Consider state-owned behavior or one transition boundary.",
"version": 4,
"semanticMaturity": "project",
"securityKind": "none",
"taxonomy": [
"maintainability"
],
"requirements": [
"declarations"
],
"packs": [
"dart-oop",
"oop",
"csharp",
"typescript"
],
"implementation": "src/languages/dart/oop/smells.rs",
"languages": [
"dart",
"csharp",
"java",
"javascript",
"typescript"
],
"frameworks": [],
"languageVersions": [],
"limitations": [
"Requires three methods switching over one field and at least three states.",
"Comments, strings, generated, test, example, and vendored sources follow normal analysis classification and suppression controls."
]
}