Konvence konfigurace ( eng. Convention over configuration , také známé jako eng. coding by convention ) - koncept (nebo princip) návrhu softwaru, který spočívá v tom, že příslušné aspekty je třeba konfigurovat tehdy a jen tehdy, pokud tento aspekt ano. nesplňuje některé specifikace. Princip se obvykle používá při vývoji frameworku a umožňuje snížit množství požadované konfigurace bez ztráty flexibility [1] [2] .
Koncept "Konfigurace konvence" je založen na již existujících konceptech, jako jsou rozumné výchozí hodnoty nebo pravidlo nejmenšího překvapení v návrhu uživatelského rozhraní . . Tento koncept poprvé představil David Hansson ve svém popisu rámce Ruby on Rails . Následně se tento princip stal široce používaným v dalších frameworkech jako Apache Maven , Spring Framework atd. [1]
Pokud je například vlastnost třídy pojmenována jako "Prodej", pak zobrazení vlastnosti v poli tabulky bude ve výchozím nastavení a podle konceptu se provádí pod názvem "Prodej". Podobně, pokud je třeba instanci této třídy převést do formátu řetězce ( JSON , XML atd.), pak framework zvolí "Prodej" [2] a pole pojmenuje jako výchozí .
Dalším příkladem uplatnění principu je definování projektových struktur a výchozích pravidel chování. Například Apache Maven ve výchozím nastavení vytváří určitou adresářovou strukturu pro soubory projektu a samotné sestavení se provádí pomocí kroků stanovených frameworkem [1] .