4 Punkte von GN⁺ 2023-10-10 | 1 Kommentare | Auf WhatsApp teilen
  • Der Autor beschreibt seinen persönlichen C-Coding-Stil bis Ende 2023 und hebt wichtige Veränderungen und Verbesserungen bei den Techniken hervor.
  • Der Autor hat begonnen, kurze Namen für primitive Typen zu verwenden, und festgestellt, dass dies die Klarheit erhöht und Code-Reviews angenehmer macht.
  • Der Autor gibt Beispiele für neue Benennungsregeln bei primitiven Typen wie typedef uint8_t u8; und typedef char16_t c16;.
  • Der Autor verwendet für Makros, die wie Funktionen aussehen, Kleinbuchstaben, weil sie leichter zu lesen sind und nicht dieselben Namespace-Probleme wie andere Makrodefinitionen haben.
  • Der Autor hat die Verwendung von const eingestellt, weil es bei der Optimierung keine praktische Rolle spielt und Fehler nicht zuverlässig aufdeckt. Er ist der Ansicht, dass seine Aufnahme in C ein Fehler war.
  • Der Autor lehnt nullterminierte Strings ab und setzt stattdessen auf einen grundlegenden String-Typ, was sich für ihn als produktiver erwiesen hat.
  • Der Autor bevorzugt die Rückgabe von Strukturen statt Out-Parametern, wodurch die Rückgabe mehrerer Werte effektiv möglich wird.
  • Der Autor entfernt sich von Initializern und bevorzugt Initialisierung per Zuweisung, abgesehen vom traditionellen Null-Initializer.
  • Der Autor bevorzugt __attribute gegenüber __attribute__, da er Letzteres für übertrieben und unnötig hält.
  • Für die Win32-Systemprogrammierung empfiehlt der Autor, Prototypen mit benutzerdefinierten Typen manuell zu schreiben, um Build-Zeiten zu verkürzen, den Namespace aufzuräumen und sauberer mit Programmen zu interagieren.
  • Der Autor zeigt Beispiele seines Coding-Stils in kleinen Programmen wie wordhist.c und asmint.c.

1 Kommentare

 
GN⁺ 2023-10-10
Hacker-News-Diskussion
  • Ein Artikel über den persönlichen C-Coding-Stil des Autors gegen Ende des Jahres 2023.
  • Einige Kommentatoren stimmen nicht damit überein, wie der Autor seine eigenen Typen definiert, und argumentieren, dass dies für Menschen, die bereits mit C-Typen vertraut sind, verwirrend sein kann.
  • Es gibt eine Kontroverse über die Verwendung von "ALL_CAPS" für Konstanten; einige meinen, dies sollte Präprozessor-Makros vorbehalten bleiben.
  • Es gibt Kritik daran, dass der Autor signed Größen verwendet; einige Kommentatoren argumentieren, dass unsigned Größen weniger anfällig für Fehler seien.
  • Dass der Autor von bestehenden Konventionen abweicht, etwa indem er u8 oder i32 statt der Standardtypen uint8_t oder int32_t verwendet, scheint für andere verwirrend sein zu können.
  • Einige Kommentatoren argumentieren, dass der Ansatz des Autors eher auf persönliche Vorlieben ausgerichtet zu sein scheint, als darauf, C-Code so zu gestalten, dass jeder leicht damit arbeiten kann.
  • Es werden Fragen dazu aufgeworfen, dass der Autor ein 32-Bit-Boolean verwendet; einige argumentieren, dies verschwende Speicher ohne klaren Vorteil.
  • Es gibt Bedenken hinsichtlich der Annahme des Autors, dass float 32 Bit und double 64 Bit groß seien, was potenziell problematisch sein könnte.
  • Das Konzept eines "persönlichen Stils" beim Coding scheint problematisch sein zu können, da Programmierung letztlich eine soziale Aktivität ist, und das gilt auch für Hobbyprojekte.
  • Einige Kommentatoren stimmen nicht damit überein, dass der Autor structs gegenüber Out-Parametern bevorzugt, und argumentieren, dass dies Funktionen schwerer zusammensetzbar macht und zu einer Vermehrung von Typen führt.
  • Der Artikel löst eine Diskussion über verschiedene Coding-Stile und Herangehensweisen aus und unterstreicht die Vielfalt der Meinungen in der Programmier-Community.