《《=[前の記事に] 《=[前ページ]       [次ページ]=》 [次の記事に]=》》


XPノススメ


産業システム第一部2グループ 

森本 秀次 (morimoto@sra.co.jp)

 

今,新手の開発プロセスXP(eXtreme Programming)が盛り上がりを見せています. 前回のGSletterでXP本が紹介されていましたが 「XPエクストリーム・プログラミング入門」(*1)として翻訳されました. XPはリスクを軽減し(システムや開発プロセスの)価値を極限まで上げるための ルール集です.言い換えると無駄を排除し価値を求めるための実践を表しています.

XPには12の実践があります.すべてを実践するのは難しいですが, 以下に是非実践したいルールを示します.
 

◎ シンプルデザイン 

今日のための実装をし未来のことは考えない(どうせ必要ないから) フレームワークのようなものはいらないそうです.必要になった時作ればよい. 賢いプログラマは将来のためにと思ってついつい作りこんでしまいがちになりますが さらに賢いプログラマは余った時間を他に使います.

シンプルってなぁーに? 

プライオリティ順に 

A.コードはコミュニケーションが取られるようにすべての内容を伝える. 
B.絶対一度だけルール(重複したコードを許さない) 
C.クラス数が少ない. 
D.メソッド数が少ない. 
A以外はすぐに理解できると思います.Aはコメントに頼るようなコード ではなくコードそのものに意味を持たせるように記述しましょうってことです. コミュニケーションツールとしてコードを前面に押し出します. 

あとは 不要になったファイルや今は必要ないけど将来使うかもしれないという コードやファイルは思い切って捨ててしまいましょう.

Simple is the best, but difficult to do.
◎リファクタリング 
モジュールの再構築を行います. 
システムの振る舞いを変えずにコードをシンプルに書き直すことです. コードを大改造するのは大変ですから,ちょこっと進んで,修正して ちょこっと進んで,修正してを繰り返します.
◎ ユニットテスト(単体テスト) 
テスト好きですか? 
大抵のプログラマはテストケースを書いて検証することが嫌いですが 重要性は認識しています.
 そこでXPはテストケース駆動のプログラミングを奨励しています.

= JUnitの紹介 =

いつでも一連のユニットテストを自動実行するためのテストケース検証ツール XUnitファミリー(JUnit, CppUnit, VBUnit, RubyUnitなど)(*3) を使用し, テストケース自体をコードで記述しツールで検証します. 

手順としてウォーターフォールとは逆で テスト -> 実装 -> 設計(リファクタリング) を何度も繰り返しながらモジュールとテストケースを構築します.

  1. まず1つテストケースを書く 
  2. テストケースがコンパイルエラーであることを確認する(モジュールがないから) 
  3. テストケースが通るような簡単なモジュールを作成する
  4. ツールによる検証結果が OK になるまで繰り返す 
  5. リファクタリングする 
  6. 1に戻る

《《=[前の記事に] 《=[前ページ]       [次ページ]=》 [次の記事に]=》》