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