QUIQQER 2.0 Themenvorschläge
Es wird aktuell an QUIQQER 2.0 gearbeitet.
Da dies eine Major Version ist, können Breaking Changes gemacht werden.
Hier eine Liste an Themen, die in den Release mit aufgenommen werden könnten:
Konkrete Änderungsvorschläge
Vorschläge anzeigen
- Festlegen, ob Methode selbst oder Aufrufer Permission prüfen soll
- Namen von Klassen, Methoden, Variablen, etc. verbessern:
- quiqqer/stabilization/code-improvements#35+
- quiqqer/stabilization/code-improvements#36+
- quiqqer/stabilization/code-improvements#37+
- quiqqer/stabilization/code-improvements#76+
- quiqqer/stabilization/code-improvements#82+
- quiqqer/stabilization/code-improvements#90+
-
quiqqer/stabilization/code-improvements#92+ (bspw.
QDOM
: quiqqer/stabilization/code-improvements#3) - quiqqer/stabilization/code-improvements#95+
- quiqqer/stabilization/code-improvements#93+
- quiqqer/stabilization/code-improvements#99+
- quiqqer/stabilization/code-improvements#104+
- quiqqer/stabilization/code-improvements#65+
- quiqqer/stabilization/code-improvements#69+
- strict_types überall definieren
-
null
verbieten:- quiqqer/stabilization/code-improvements#55+
- quiqqer/stabilization/code-improvements#54+
- quiqqer/stabilization/code-improvements#30+
- quiqqer/stabilization/code-improvements#32+
- quiqqer/stabilization/code-improvements#27+
- quiqqer/stabilization/code-improvements#25+
- User::hasPermission und ::getPermission verhalt... (#1202)
- quiqqer/stabilization/code-improvements#8+
- quiqqer/stabilization/code-improvements#16+
- quiqqer/stabilization/code-improvements#7+
- PhpDoc mit PHPStan Attributen optimieren
- quiqqer/stabilization/code-improvements#2+
- quiqqer/stabilization/code-improvements#1+
- quiqqer/stabilization/code-improvements#12+
- quiqqer/stabilization/code-improvements#5+
- quiqqer/stabilization/code-improvements#6+
- quiqqer/stabilization/code-improvements#4+
- PSR 3 kompatibles Logging (Placeholder)
- Weniger Composer Magie
- Ordnerstruktur modernisieren (
public
,vendor
,config
, etc.) - Bootstrapping ohne Datebankverbindung ermöglichen
- Version Constraint von symfony/http-foundation ... (#1339)
- Workspace Manager: Inkonsistente User Interface... (#1336)
- Locale: getPartsOfLocaleString liefert unerwart... (#1335)
- Locale: isLocaleString liefert falsche Ergebnisse (#1334)
- Locale: setTemporaryCurrent & resetCurrent funk... (#1333)
- require_once der `/bootstrap.php` entfernen (#1330)
- Es werden diversen nicht existierende Methode a... (#1329)
- Session: Class Symfony\Component\HttpFoundation... (#1324)
- QUI\Security: Blowfish wird falsch instanziert (#1323)
- Mailversand beschleunigen/optimieren (#1301)
- Mailqueue: Abarbeitung entspricht nicht einer Q... (#1295)
- Request und Response Objekte (von Symfony) glob... (#1290)
- PSR-kompatible Caching Library verwenden (#1248)
- "minimum-stability" standardmäßig auf "stable" ... (#1242)
- quiqqer/quiqqer#905+
- Konkrete Klassen-/Konstruktor-Parameter verwenden, statt überall nur ein
$attributes
Array - quiqqer/stabilization/code-improvements#17+
- quiqqer/stabilization/code-improvements#15+
- quiqqer/stabilization/code-improvements#14+
- quiqqer/stabilization/code-improvements#13+
- quiqqer/stabilization/code-improvements#10+
- refactor: merge nested if statements (!122)
- refactor: change foreach items assign to empty ... (!126)
- refactor: change comparison with get_class to i... (!127)
- refactor: shorten else/if to elseif (!132)
- refactor: change string class names to class co... (!141)
- refactor: use multi-exception catch-blocks (!148)
- refactor: set public visibility on all constants (!150)
- refactor: convert closures to arrow functions (!151)
- refactor: make use of str_contains method (!153)
- refactor: make use of str_starts_with method (!154)
- refactor: make use of str_ends_with method (!155)
- refactor: replace switch with match (!160)
- refactor: remove obsolete phpdoc + introduce mi... (!161)
- refactor: add "never" return type (!164)
- refactor: add "readonly" property to only read ... (!165)
- refactor: make use of first class callable syntax (!166)
Abstrakte Änderungsvorschläge
Vorschläge anzeigen
- quiqqer/stabilization/code-improvements#11+
- Weg für Dependency Injection bereiten:
- Kollaborierende Objekte per Constructor übergebbar machen
- quiqqer/stabilization/code-improvements#9+
- quiqqer/stabilization/code-improvements#58+
- (Active Record Pattern vermeiden)
- quiqqer/stabilization/code-improvements#74+
- quiqqer/stabilization/code-improvements#79+
- Verbesserte Fehlerbehandlung:
- Präzisere Exceptions einführen (quiqqer/stabilization/code-improvements#52)
- quiqqer/stabilization/code-improvements#49+
- quiqqer/stabilization/code-improvements#43+
- quiqqer/stabilization/code-improvements#48+
- Funktionen optimieren:
- quiqqer/stabilization/code-improvements#42+
- quiqqer/stabilization/code-improvements#41+
- quiqqer/stabilization/code-improvements#40+
- quiqqer/stabilization/code-improvements#39+
- quiqqer/stabilization/code-improvements#29+
- quiqqer/stabilization/code-improvements#26+
- quiqqer/stabilization/code-improvements#24+
- quiqqer/stabilization/code-improvements#19+
- quiqqer/stabilization/code-improvements#18+
- Definition von Interfaces überprüfen (ggf. zu groß)
- Interfaces statt konkreten Klassen verwenden
- Config Objekte statt Arrays
- SOLID Prinzipien durchsetzen, dazu zählt bspw.:
- Single Responsibility Principle
- Open-Closed Principle
- Liskov Substitution Principle
- Interface Segregation Principle
- Dependency Inversion Principle
- quiqqer/stabilization/code-improvements#105+
- Namen von Klassen, Methoden, Variablen, etc. verbessern:
- quiqqer/stabilization/code-improvements#94+
- quiqqer/stabilization/code-improvements#91+
- quiqqer/stabilization/code-improvements#70+
- quiqqer/stabilization/code-improvements#38+
- quiqqer/stabilization/code-improvements#34+
- quiqqer/stabilization/code-improvements#86+
- quiqqer/stabilization/code-improvements#85+
- quiqqer/stabilization/code-improvements#83+
- quiqqer/stabilization/code-improvements#80+
- quiqqer/stabilization/code-improvements#68+
- quiqqer/stabilization/code-improvements#20+ (alte Syntax ggf. nur deprecaten und weiter funktionieren lassen)
- Datenbank Verbesserungen:
- quiqqer/stabilization/code-improvements#100+ (in Kombination mit Features von Doctrine DBAL)
- quiqqer/stabilization/code-improvements#101+ (in Kombination mit Features von Doctrine DBAL)
- quiqqer/stabilization/code-improvements#28+
- PHP Attributes statt XML Dateien verwenden (Ajax-Methoden, Event Handler, QUIQQER Provider, etc.)