← HR és munkaidő-kezelés · projekttervezési csomag adatlapja

Skill · 1.0.0 verzió

Mérnöki egyszerűség vizsgálata

Felesleges rétegeket és előre feltételezett általánosítást keres a szükséges helyesség és biztonság megtartásával.

engineering-simplicity-review

Ezt a skillt használó ügynökök

Nézd meg, miben segít

Mikor hasznos?

Akkor használd, ha a terv a jelenlegi igénynél nehezebben karbantarthatónak tűnik.

Miben segít neked?

  • Az életciklus bonyolultságát vizsgálja a sorszám minimalizálása helyett.
  • Megkérdőjelezi az értéket nem adó burkolókat és keretrendszereket.
  • Megtartja a jogosultsági, tranzakciós és hibakezelési alapokat.

Például ezt kérheted

Egyszerűsítsd ezt a megvalósítási tervet az ügyfélelkülönítés, hibakezelés és elfogadási feltételek megőrzésével. Vesd össze a szolgáltatásláncot egy meglévő modul bővítésével. Azonos elfogadási ellenőrzések mellett válaszd a kevesebb felelősségi és hibahatárt igénylő megoldást.

Részletes dokumentáció

Itt a skill eredeti útmutatóját, példáit és ellenőrzési szempontjait olvashatod az eredeti nyelven.

Részletek…Összecsukás

Engineering Simplicity Review

Use this skill when reviewing technical designs, implementation plans, or code diffs to ensure accidental complexity is removed before it becomes a permanent maintenance burden.

What Genuine Simplicity Means

  • Lifecycle simplicity over line-count golf: A 40-line explicit module with clear types and error handling is simpler than a clever 8-line meta-programmed one-liner or a "quick hack" that requires weekly manual database fixes.
  • Deep modules over shallow pass-through layers (Ousterhout): Every new class, interface, wrapper, or microservice must hide significant complexity behind a simpler interface. If an abstraction has the same surface area as the code it wraps, delete the wrapper.
  • Non-negotiable foundations are part of simplicity: Authorization checks, tenant isolation, input validation, transactional integrity, and clear error handling are never "over-engineering" — they are required for a working system.

Checklist for Spotting Accidental Complexity

  1. Premature generalization & single-implementation interfaces:
    • Flag IFooAdapter, AbstractFooFactory, or strategy registries created when only one concrete implementation exists and no second implementation is scheduled in the current scope.
    • Require at least three concrete call sites or two real domain variants before extracting a shared framework or configurable abstraction; mere syntactic similarity between two functions is not enough.
  2. Pass-through layers & indirection:
    • Flag controllers, services, mappers, and DTOs that copy identical fields across 3–4 layers without transforming semantics or enforcing a boundary.
  3. Unjustified new dependencies or infrastructure:
    • Before adding a third-party package, queue, cache cluster, or state-management library, verify whether standard language/runtime APIs or packages already in package.json / composer.json / pyproject.toml solve the problem.
    • Weigh total cost of ownership: bundle size, security patching, upgrade churn, and operational failure modes.
  4. Full rewrites disguised as features:
    • Challenge proposals to rewrite a working module from scratch when a targeted, incremental change or strangler step achieves the goal with far lower regression risk.
  5. Unmeasured performance complexity:
    • Reject complex caching layers, custom memory pools, or denormalized sync pipelines unless tied to a measured bottleneck or explicit capacity requirement.

Review Output Contract

Always pair every critique with a runnable, simpler alternative:

Goal: [The concrete requirement or user outcome] Observation: [The specific layer, dependency, or abstraction that exceeds what the goal requires, and the maintenance/failure cost it introduces] Proposal: [The concrete simpler design using existing codebase primitives, plus its known limits] Trade-off: [What we defer and the exact condition that would justify adding the extra layer later]

Csomagban lévő fájlok 1

  • SKILL.md