c-lang:コーディングスタイル
明快なのがプロフェッショナルである。明快でないのは素人だ。
Sir Ernest Gowers
なぜ、コーディングスタイルは必要か
普通の文章でも、他の人に読んでもらう文章は、ただ書けばよいと言うものではない。
他の人に読んでもらうには、
構造の完全な文を書く
単文・短文主体の文を書く
肯定文を書く
能動態で書く
主題を明確にする
道草のない文章にする
事実と評価を別にする
結束性のある文章にする
的確な語彙を使用する
俗語や話し言葉は避ける
感情や価値表現の語彙は避ける
接続用語 (というのは、いうまでもなく、…) や照応詞 (こうした、その、…) の乱用は避ける
表記を統一する
漢字を使いすぎない
誤字をなくす
カタカナはみだりに使わない
といった、約束事を守る必要がある。
そういった約束事を守った文章は、読みやすく、内容が理解しやすい。
同じように、コーディングスタイルによって、プログラムは、より理解しやすくなる。
字下げ(インデント)
c-lang:字下げ
プログラミングスタイル
K & R スタイル または、1TBS ( One True Brace Style)
code:cpp
if (式) {
<文>
}
K & Rに書かれていたスタイル。
Allman スタイル または、BSDスタイル
code:cpp
if (式)
{
<文>
}
BSDユーティリティを沢山書いたEric Allmanにちなんでこう呼ばれる。
Stroustrup style ともいうらしい。
Whitesmiths スタイル
code:cpp
if (式)
{
<文>
}
初期の市販のCコンパイラ、Whitesmiths-Cについてきたプログラムの例で有名になった。
GNU スタイル
code:cpp
if (式)
{
<文>
}
フリーソフトウェア・ファウンデーション(FSF)のスタイル。
果たして、どのスタイルが一番優れているのか
結論から言うと、コーディングスタイルの違いによるプログラムの品質の差はほとんどない。
それよりも、読みやすいコーディングをすることが大事である。
よいプログラムとは
動く
正しい
速い(利用資源が少ない)
読み易い
再利用性がある
美しい
プログラムの修正
もっとも重要なことは、すっきりとした設計と実現、有用な文書化、保守のしやすいモジュール性である
実行効率の改善に着手する前に、どこで効率が損なわれるかをしっかり把握するべきである
些末な修正を行う前に、適切なデータ構造とアルゴリズムの設計が行われているかを検討するべきである
それでも、実行効率が不十分である場合に特別なテクニックを使ってコードを書き直すと良い。しかし、コードの分かりやすさが損なわれるので、オリジナルのソースを残しておくこと
さらに速くする必要があるときだけ、特定の環境に依存した修正(アセンブリでの書き換えや特定ハードに依存したコーディング)を行う
コーディングスタイル(coding style)