Ten Essential Development Practices

彼を知らなければPerl使いのモグリであろうDamian Conwayが、プログラム開発で推奨される10の実践項目を表題のリンク先で説明している。Perlを使わない人にも読む価値がある内容だと思う。すべての項目がPerlだけでなくプログラム開発一般に言えることで、具体的な実践方法はPerlについて書いてあるからである。この内容は彼が最近出した本Perl Best Practicesからの抜粋である。
挙がっているのは以下の項目だ。

  1. モジュールを作る際はまずインターフェースを決める。そのモジュールを使ったプログラムを書いてみる。それは説明文の中の使用例にも使えるし、テストプログラムにも使えるので無駄にはならない。
  2. 実際にコーディングを始める前にTest::Simpleモジュールなどを使ってテストプログラムを作る。
  3. モジュールやアプリケーションの説明文の雛形を作っておく。説明文を書く気になれない理由の1つは白紙の状態から書くのは敷居が高いことである。
  4. rcs, cvs, subversion, Perforceなどのバージョン管理システムを使う。
  5. コマンド行インターフェースに一貫性を持たせる。
  6. 開発チーム全体でコーディングスタイルを決め、それをperltidyで自動的に適用する。
  7. コードを短い「段落」に分け、段落の最初にコメントを入れる。段落と段落の間には空行を入れて読みやすさを向上させる。
  8. 例外事項発生時は特別な戻り値を返すのではなく、dieやcroak (Carpモジュール)を使ってサブルーチンを終了する。呼び出した側がそれを想定していなければプログラムの実行が終了するし、それに応じた動作をしたいのであれば、呼び出す部分をevalブロックで括ればよい。
  9. バグが見つかったら、実際の修正に入る前にテストプログラムにそのバグを発生させる部分を加える。
  10. 最適化するのであれば、実際のデータを使ってベンチマークテストをおこなう。