====== Osnovna Kontrolna Lista ====== **Verzija:** 2.0 (Split)\\ **Vrijedi za:** Sva repozitorija i sve jezike (Pascal/FPC, C#, VB.NET, Rust, PHP/DokuWiki) Ova datoteka je **Merge Gate**. Uvijek je primijeni, zatim dodaj relevantne profile. ===== Uvijek primijeni ===== * [ ] Struktura projekta odgovara WvdS-Baseline (vidi: [[.:projekt:struktura|Struktura Projekta]]) * [ ] Build zahtjevi ispunjeni (vidi: [[.:projekt:build-konfiguracija|Build Konfiguracija]]) * [ ] Error Handling ispunjava baseline (vidi: [[.:kod:obrada-gresaka|Obrada Grešaka]]) * [ ] Kvaliteta koda dostiže "production-ready" prag (vidi: [[.:kod:kvaliteta|Kvaliteta Koda]]) * [ ] Dokumentacijska trijada postoji (vidi: [[.:infrastruktura:dokumentacija|Dokumentacija]] i [[.:projekt:dokumentacija|Projekt Dokumentacija]]) ===== Production-Ready (NULTA TOLERANCIJA) ===== **Sav kod MORA biti 100% production-ready:** ^ Zabranjeno ^ Potrebno ^ | ''%%// TODO:%%'' komentari | Potpuna implementacija | | ''%%// FIXME:%%'' komentari | Ispravljen kod | | Stub funkcije | Potpune implementacije | | Mock implementacije | Prave implementacije | | Placeholder vrijednosti | Stvarne vrijednosti | | ''raise ENotImplemented'' | Funkcionirajući kod | * [ ] Nema TODO komentara u produkcijskom kodu * [ ] Nema FIXME komentara u produkcijskom kodu * [ ] Nema stub ili placeholder funkcija * [ ] Nema mock implementacija * [ ] Svaka funkcija potpuno implementirana * [ ] Svi slučajevi grešaka obrađeni * [ ] Svi edge cases pokriveni ==== Opća Kvaliteta ==== * [ ] Nema dupliciranog koda (DRY princip) * [ ] Nema magic numbers (koristi imenovane konstante) * [ ] Konzistentno formatiranje u cijeloj datoteci * [ ] Sve javne metode imaju ispravne poruke o greškama ===== Error Handling Baseline ===== * [ ] Nema praznih catch/except blokova * [ ] Greške se logiraju PRIJE obrade * [ ] Specifične iznimke prije općih * [ ] Stack Trace očuvan kod re-throw * [ ] Resursi deterministički očišćeni ===== Logging Baseline ===== * [ ] Logging format/verbosity prati politiku (vidi: [[.:infrastruktura:logiranje|Logiranje]]) * [ ] Nema tajni ili osjetljivih podataka u logovima (vidi: [[.:sigurnost:kritis|KRITIS/NIS2]]) ===== Security Baseline ===== * [ ] Ako promjena utječe na Crypto/Auth/Network/izložene površine: primijeni [[.:sigurnost:kritis|KRITIS/NIS2]] * [ ] Ako promjena utječe na DokuWiki/PHP: primijeni [[.:stackovi:dokuwiki-php|DokuWiki/PHP Security]] ---- //Verzija: 2.0 (Split)//\\ //Autor: Wolfgang van der Stille// ~~DISCUSSION:off~~