kontraktkompleksitet
Kontraktkompleksitet är ett begrepp inom programvaruutveckling som beskriver hur komplext ett kontrakt mellan programkomponenter är. Ett kontrakt anger vilka förpliktelser som gäller för avsändaren och vilka garantier som ges av mottagaren, samt hur olika delar interagerar under körning. Kontraktet kan avse gränssnitt mellan funktioner, tjänsteintegrationer eller mikrotjänster, och dess komplexitet påverkar hur lätt det är att förstå, verifiera och underhålla systemen.
Dimensioner av kontraktkomplexitet inkluderar syntaktisk komplexitet (antal klausuler, nestningsnivåer), semantisk komplexitet (beroenden mellan villkor och garantier),
Mätning av kontraktkomplexitet kan göras med kvantitativa mått som antal pre- och postvillkor, antal invariants, nestingdjup,
Relationer och praktisk hantering. Kontraktkomplexitet kopplas närmare Design by Contract, API-design och modulär arkitektur. För att