cc2eで感じた違和感?

cc2e(code complete 2nd edition)で感じたもうひとつの違和感
擬似コードプログラミング

初版にも書いてあったけど、擬似コードプログラミングとは、コメント書いてからコードを入れていく、という手法のこと。でもコメントで処理を説明できるんだったら、その説明を関数名にして別関数にしようよ。

擬似コードプログラミングでは、次の手順。

  1. コメントと制御構造で擬似コードを書く。
  2. コメントの下に実際のコードを入れていく。
  3. コードが書き終わるとコメントもついていて(゚Д゚)ウマー

自分がコードを書くときはこんな感じ。擬似コードもそうだけど、データ設計などは既に終わっていることが前提。

  1. 説明的な関数名と制御構造でコードを書く
  2. 関数のプロトタイプを入れることでコードとしてそのまま完成
  3. コメントはあまりつけない。関数名で説明してるし。(例外あり)

基本的にコメントはつけないで関数名・変数名で説明するコードを心がけているのだが、絶対にコメントが必要になる場合がある。それは、意味と処理の抽象度が違ってくる場合があるからで、その場合はコメントは絶対つける。たとえば、リストの全エントリに処理を実行する場合などで、リストの先頭と、処理をする関数のポインタを受け取る関数と使うと、

/*すべてのメンバに権限を付加*/
list_apply(memberList, memberAuthorize); 

って感じになる。

ま、そんなわけで私は擬似コードプログラミングは多分使わないだろうな。