RSS Der tägliche WTF
Folgen
CodeSOD: Ein JSON Serialisierer
Carols Code demonstriert einen schlechten Ansatz zur JSON-Serialisierung durch manuelles Konstruieren von Strings. Diese Methode ist fehleranfällig und unnötig, da C# über integrierte JSON-Serialisierungsfunktionen verfügt. Der Code versucht, Datentypen für die Serialisierung durch Inspektion von String-Darstellungen abzuleiten. Er behandelt insbesondere Tupel, indem er Klammern in eckige Klammern umwandelt. Er versucht auch, Werte als Zahlen oder Boolesche Werte zu parsen, um ihre JSON-Darstellung zu bestimmen. Jeder andere Wert wird als String behandelt und in Anführungszeichen gesetzt. Ein kritischer Fehler ist das Fehlen einer ordnungsgemäßen Maskierung für Zeichen innerhalb von Strings, was potenziell zu fehlerhaftem JSON führen kann, wenn Anführungszeichen in den Daten vorkommen. Der Code hat auch einen Fehler, bei dem ein zusätzliches Komma an den JSON-String angehängt wird, das dann mit einer bedingten Überprüfung entfernt wird. Diese manuelle String-Manipulation ist ein Zeichen schlechter Praxis. Entwickler sollten immer vorhandene Bibliotheken oder Sprachfunktionen für Aufgaben wie die JSON-Serialisierung nutzen. Wenn eine komplexe Codegenerierung wirklich erforderlich ist, ist der Aufbau eines Syntaxbaums der richtige Ansatz.