** Konfigureerimise konventsioon (COC) on tarkvara kujundamise paradigma, mille eesmärk on arengut lihtsustada, kasutades eelnevalt määratletud eeldusi ja standardeid, vähendades arendajate otsuste arvu. Kuigi COC võib suurendada tootlikkust ja järjepidevust, on stsenaariume, kus see võib ebaõnnestuda või olla vähem tõhus:
1. Paindlikkuse puudumine **
COC üks peamisi kriitikaid on selle potentsiaal piirata paindlikkust. Keskkondades, kus on vaja ainulaadseid või mittestandardseid lahendusi, võib konventsioonide järgimine olla piirav. Näiteks kui projekt nõuab andmebaasiskeemi, mis ei järgi tavapäraseid nimetamisnõusid, on vaja täiendavat konfiguratsiooni, mis võib korvata COC eeliseid [5] [4].
2. konfliktid muude kujunduspõhimõtetega **
COC võib mõnikord vastuolus teiste kujunduspõhimõtetega, näiteks Pythoni zenist pärit põhimõte "selgesõnaline on parem kui kaudne". See põhimõte viitab sellele, et selgesõnalised konfiguratsioonid on eelistatavad kaudsetele eeldustele, mis võivad põhjustada segadust või ootamatut käitumist, kui mitte hästi dokumenteeritud [9] [4].
3. keerukus mittestandardsete stsenaariumide korral **
Keerukate või mittestandardsete stsenaariumide käsitlemisel ei pruugi COC pakkuda vajalikku paindlikkust ainulaadsete nõuete tõhusaks käsitlemiseks. Näiteks süsteemis, kus tuleb integreerida mitu erineva skeemistruktuuriga andmebaasi, võib ainult konventsioonidele tuginemine põhjustada ebatõhusust või täiendavat keerukust [4] [10].
4. õppimiskõver ja lapsendamine **
COC rakendamine nõuab konventsioonide endi teatavat tundmist. Uute arendajate jaoks võib olla keeruline õppida ja nendega kohaneda, eriti kui need on harjunud selgemate konfiguratsioonimeetoditega. See võib suurendada õppimiskõverat ja takistada uute meeskonnaliikmete tootlikkust [1] [4].
5. Kaudsed eeldused ja dokumentatsioon **
COC tugineb suuresti kaudsetele eeldustele, mis põhinevad kehtestatud konventsioonidel. Kui need eeldused ei ole hästi dokumenteeritud ega mõistetavad, võib see põhjustada arusaamatusi või vigu. Nende tõhusaks kasutamiseks peab arendajatel olema sügav mõistmine, mis võib olla koostöökeskkonnas takistus [10] [8].
6. vaikeseadete üleandmine **
Mõnel juhul võivad arendajad tugineda COC pakutavatele vaikeseadetele liiga tugevalt, mõistmata täielikult aluseks olevaid eeldusi. See võib põhjustada ootamatut käitumist, kui vaikeseaded ei vasta projekti konkreetsetele vajadustele. Näiteks kui raamistik eeldab vaikimisi teatud andmebaasi struktuuri, kuid tegelik struktuur on erinev, on nende vaikeseadete alistamiseks vaja täiendavat konfiguratsiooni [4] [11].
Kokkuvõtlikult võib öelda, et kuigi konfigureerimise konventsioon pakub tootlikkuse ja järjepidevuse osas palju eeliseid, võib see ebaõnnestuda või olla vähem efektiivne stsenaariumides, mis nõuavad suurt paindlikkust, keerulisi konfiguratsioone või kui puuduvad aluseks olevate konventsioonide mõistmise.
Tsitaadid:[1] https://facilethings.com/blog/en/convention-over-configuration
]
[3] https://www.devx.com/terms/convention-over-onfiguration/
[4] https://en.wikipedia.org/wiki/convention_over_configuration
]
[6] http://softwareEnginering.vazexqi.com/files/pattern.html
]
[8] https://devopedia.org/convention-over-onfiguration
]
]
]
[12] https://davewentzel.com/content/convention-over-onfiguration/