====== Osnovni Kontrolni Seznam ====== **Različica:** 2.0 (Split)\\ **Velja za:** Vse repozitorije in vse jezike (Pascal/FPC, C#, VB.NET, Rust, PHP/DokuWiki) Ta datoteka je **Merge Gate**. Uporabi jo **vedno**, nato dodaj ustrezne profile. ===== Vedno Uporabi ===== * [ ] Struktura projekta ustreza WvdS osnovni liniji (glej: [[projekt:struktura|Struktura Projekta]]) * [ ] Build zahteve izpolnjene (glej: [[projekt:build-konfiguracija|Build Konfiguracija]]) * [ ] Obravnava napak ustreza osnovni liniji (glej: [[koda:obravnava-napak|Obravnava Napak]]) * [ ] Kakovost kode dosega "production-ready" prag (glej: [[koda:kakovost|Kakovost Kode]]) * [ ] Dokumentacijska triada obstaja (glej: [[infrastruktura:dokumentacija|Dokumentacija]] in [[projekt:dokumentacija|Projektna Dokumentacija]]) ===== Production-Ready (NIČELNA TOLERANCA) ===== **Vsa koda MORA biti 100% production-ready:** ^ Prepovedano ^ Zahtevano ^ | ''%%// TODO:%%'' komentarji | Popolna implementacija | | ''%%// FIXME:%%'' komentarji | Popravljena koda | | Stub funkcije | Polne implementacije | | Mock implementacije | Prave implementacije | | Nadomestne vrednosti | Dejanske vrednosti | | ''raise ENotImplemented'' | Delujoča koda | * [ ] Brez TODO komentarjev v produkcijski kodi * [ ] Brez FIXME komentarjev v produkcijski kodi * [ ] Brez stub ali placeholder funkcij * [ ] Brez mock implementacij * [ ] Vsaka funkcija popolnoma implementirana * [ ] Vsi primeri napak obravnavani * [ ] Vsi robni primeri pokriti ==== Splošna Kakovost ==== * [ ] Brez podvojene kode (DRY načelo) * [ ] Brez magic numbers (uporabi poimenovane konstante) * [ ] Konsistentno oblikovanje skozi celotno datoteko * [ ] Vse javne metode imajo pravilna sporočila o napakah ===== Osnovna Linija Obravnave Napak ===== * [ ] Brez praznih catch/except blokov * [ ] Napake zabeležene PRED obravnavo * [ ] Specifične izjeme pred splošnimi * [ ] Stack trace ohranjen ob ponovnem metu * [ ] Viri deterministično počiščeni ===== Osnovna Linija Beleženja ===== * [ ] Format/verboznost beleženja sledi politiki (glej: [[infrastruktura:beleženje|Beleženje]]) * [ ] Brez skrivnosti ali občutljivih podatkov v dnevnikih (glej: [[varnost:kritis|KRITIS/NIS2]]) ===== Osnovna Linija Varnosti ===== * [ ] Če sprememba vpliva na crypto/auth/network/izpostavljene površine: uporabi [[varnost:kritis|KRITIS/NIS2]] * [ ] Če sprememba vpliva na DokuWiki/PHP: uporabi [[skladi:dokuwiki-php|DokuWiki/PHP Varnost]] ---- //Različica: 2.0 (Split)//\\ //Avtor: Wolfgang van der Stille// ~~DISCUSSION:off~~