1.6 KiB
1.6 KiB
Steuerkram – Entwicklungsregeln
Tech Stack
PHP 8.3+, MySQL, PSR-4 (Namespace Steuerkram\), Composer, kein Framework.
MVC: src/Controllers/, src/Models/, src/Services/, src/Views/.
Coding-Regeln
- Kein
var_dump, keindie()in Produktionscode. - Neue Libraries nur nach expliziter Rückfrage einbinden.
- Bestehenden Code-Stil beibehalten (declare strict_types, 4 Spaces).
- SQL ausschließlich über
Database::fetchAll/fetchOne/execute()mit Prepared Statements.
Tests
Regel: Jedes neue Feature bekommt einen eigenen Test.
Tests liegen in tests/ und folgen dem Namensschema NN_FunktionsnameTest.php.
Jede Testklasse erweitert TestCase und implementiert run().
php tests/run.php # alle Tests ausführen
./scripts/run-tests.sh # Tests + automatische Issue-Erstellung bei Fehlern
./scripts/run-tests.sh 42 # Tests; bei Fehlern Kommentar in Issue #42
Neuen Test erstellen
- Datei
tests/NN_MeinFeatureTest.phpanlegen (NN = nächste freie Nummer) - Klasse
MeinFeatureTest extends TestCase protected string $testName = 'Test NN: Beschreibung';- Methode
public function run(): voidmit Assertions implementieren - Transaktions-Isolation ist automatisch (setUp/tearDown in TestCase)
Assertion-Methoden
$this->assert(bool, 'Beschreibung');
$this->assertEquals($erwartet, $ist, 'Beschreibung');
$this->assertGreaterThan($min, $wert, 'Beschreibung');
$this->assertNotEmpty($wert, 'Beschreibung');
Commits
Fix #NR: Kurze Beschreibung der Änderung
Keine Co-Authored-By-Zeile. Keine langen Commit-Messages.