CODE COMPLETE 第2版 上 完全なプログラミングを目指して
- 作者: スティーブマコネル,Steve McConnell,クイープ
- 出版社/メーカー: 日経BP社
- 発売日: 2005/03/26
- メディア: 単行本
- 購入: 44人 クリック: 1,166回
- この商品を含むブログ (288件) を見る
これでやっと上巻が終わり。長い…。
14 - 19章はステートメント。制御構文やループの話を書いている。読めば読むほど『レガシーコード改善ガイド』を読んでいる気持ちになる章。
昨日書いた変数のところに比べると個人的にはステートメント周りの方が読みやすかった。変数は目新しいものではないとはいえデータ型とかの知識を忘れがちだが、ステートメントというのは言語によってそれほど大きな違いがないので、「まぁ確かにこの書き方はBad practiceだなぁ」というのがわかりやすく読めた。
個人的にはBoolの話が面白くて、業務もだいたいPHP使ってるからBool型のない言語の世界を忘れてしまってた*1んだが、CにはないからBoolを定義しよう、みたいな話が出てきて面白かった。あと始めは二値で済んだからBoolでもよかったけど、後から意味づけが増えて死んだ例を知ってるので、やっぱ型を定義しておくのは偉大だなぁと思った。ここら辺は本当はこれよりまえの10章あたりで話していた内容だが、評価式に用いるので今回読んだステートメントと切っても切り離せない関係だ。
あとループ…。while文は柔軟だと書かれてたけど、個人的には始め書いてたループの中身が肥大していってどのタイミングで抜けられるのかわからなくなることが多いのでwhileは使いたくない。そりゃwhileの中身が増えるからいけないんだ、とかwhileの中身は小さく小さく作るべきだとかごもっともなんだけど、自分一人で開発しているわけではないコードを書いている以上、後から誰だどんな思想を持ち込んでコードが書きかわるかわからないので、よほどきっちりとした規約なりコードレビューなりをしないと辛くなるよなと思った。for / foreachは抜け方がある意味わかりやすいし、後からの拡張には対応しづらいかもしれないが、だからこそ変な思想が入りにくくもあるので、whileめちゃ推しの文調にはあまり賛同できなかった。