4 ポイント 投稿者 GN⁺ 2023-10-10 | 1件のコメント | WhatsAppで共有
  • 2023年末までの個人的なCコーディングスタイルについて筆者が論じ、手法における重要な変化と改善点を強調しています。
  • 筆者はプリミティブ型に短い名前を使い始め、これによって明確さが増し、コードレビューがより楽しくなると感じています。
  • 筆者は typedef uint8_t u8;typedef char16_t c16; のように、プリミティブ型に対する新しい命名規則の例を示しています。
  • 筆者は関数のように見えるマクロに対して小文字を採用しており、読みやすく、他のマクロ定義のような名前空間の問題がないためだとしています。
  • 筆者は const の使用をやめました。最適化で実質的な役割を果たさず、ミスも検出できなかったためです。Cに含まれていること自体が誤りだと考えています。
  • 筆者はnull終端文字列を退け、基本的な文字列型を受け入れており、そのほうが生産的だと感じています。
  • 筆者はoutパラメータの代わりに構造体の返却を好み、これによって複数の値の返却を効果的に可能にしています。
  • 筆者は初期化子から離れ、従来のゼロ初期化子を除いては代入による初期化を好んでいます。
  • 筆者は __attribute__attribute__ より好んでおり、後者は過剰で不要だと判断しています。
  • Win32システムプログラミングについて、筆者はビルド時間の短縮、名前空間の整理、プログラムとのよりクリーンなインターフェースのために、カスタム型を使ってプロトタイプを手動で記述することを勧めています。
  • 筆者は wordhist.casmint.c のような小さなプログラムにおけるコーディングスタイルの例を示しています。

1件のコメント

 
GN⁺ 2023-10-10
Hacker News のコメント
  • 2023年末時点での著者個人のCコーディングスタイルに関する記事。
  • 一部のコメント投稿者は、著者の独自の型定義のやり方に同意しておらず、これはすでにCの型に慣れている人々を混乱させる可能性があると主張しています。
  • 定数に対する ALL_CAPS の使用をめぐって議論があり、一部はこれをプリプロセッサマクロ専用にすべきだと主張しています。
  • 著者がsignedなサイズを使っていることへの批判があり、一部のコメント投稿者はunsignedなサイズの方が欠陥に対して脆弱ではないと主張しています。
  • 著者が標準の uint8_tint32_t の代わりに u8i32 を使うなど、既存の慣例から外れていることが、他の人々に混乱を与えるようです。
  • 一部のコメント投稿者は、著者のアプローチは誰もが扱いやすいCコードにすることよりも、個人的な好みに重点を置いているようだと主張しています。
  • 著者が32ビットbooleanを使っていることに疑問が呈されており、一部は明確な利点もなくメモリを浪費していると主張しています。
  • floatが32ビットでdoubleが64ビットだという著者の前提に懸念があり、これが潜在的に問題になり得るようです。
  • コーディングにおける「個人的なスタイル」という概念自体が問題になり得るようで、プログラミングは最終的には社会的な活動であり、それは趣味のプロジェクトにも当てはまります。
  • 一部のコメント投稿者は、著者がout-parametersよりもstructsを好むことに同意しておらず、これが関数の構成を難しくし、型の増加を招くと主張しています。
  • この記事はさまざまなコーディングスタイルやアプローチに関する議論を呼び起こし、プログラミングコミュニティにおける意見の多様性を浮き彫りにしています。