Posted by ブクログ
2011年02月19日
ソフトウェア開発におけるベストプラクティスを網羅的に解説したプログラマにとってのバイブル的書籍である。
著者はソフトウェア工学の第一人者であるスティーブ・マコネルで、
私の会社の机にも置いてある「SWEBOK」の構築を主導している人物でもある。
この書籍が解説している範囲的は主に詳細設計?テストで...続きを読む、
上巻では詳細設計?プログラミングの部分を解説している。
この書籍の良いところは、かなり具体的に例を示している点で、
例えば、コーディングの際の擬似コード(PPP)のススメや、
変数の宣言、定義等のベストプラクティスなど、
実際の実務に直ぐにでも生かせるようなテクニックを惜しげもなく教えてくれる。
これは恐らく先人たちが何十年もかけて得た知識や経験を、
この本に凝縮して詰め込んでくれたのであろう。
そんな素晴らしい知識をたかだか数千円の投資で得ることが出来るというのは、
この著者に十分感謝しなければならないと思う。
以下、上巻を読んで大事だなと思った項目を一部抜粋します。
・プロトタイプを作成するときはクラス名やパッケージ名にprototypeというプレフィックスを付けるといった標準を設けるといい。
・設計書の文書化(CRCカード、UML、デジカメ、JavaDocの使用)。
・擬似コード (PPP)の活用。
・変数は宣言時に初期化する(C++など)。
・変数は最初に使用する場所の近くで初期化する。(VBなど)。
・変数の宣言と定義は、最初に使用する場所の近くで行うのが理想的である。
・できるだけfinalまたはconstを使用する。
・クラスのメンバデータはコンストラクタで初期化する。
・すべての変数を自動的に初期化するようにコンパイラを設定する。
・変数の参照はまとめて。
・トランプデータの削除。
・グローバル変数が必要なすべてのコードでアクセスルーチンを使用する。
・ロックを使ってグローバル変数へのアクセスを制御する。
・ループは一度に確認できる程度に短くする。
・ネストは3段階までに制限する。
・ブール値とtrue、falseは暗黙に照合する。
・ド・モルガンの定理を適用して、否定語のある論理評価を単純化。
・数値を含んでいる式は数直線の順番に並べる。
・Cでは、文字を終端のnull('\0')と明示的に比較する。
・Cから派生した言語では、定数を比較の左側に置く。(但し、数直線との関係が矛盾している)。
・null文の代わりにDoNothingプリプロセッサマクロやインライン関数を作成する。