とあるソフト会社の開発手法(コーディングスタイル):第2話 [戯言]
【- 目次 -】
第2話 「ダミーコード」
まだ出来ていない部分を代用したり、あまり発生しない状況のテストをするために、ダミーのコードを書くことが良くあります。
当然、完成版からは削除しなければならないのですが……。
さて、「皆でしっかりチェック」したソースコードでは、こうなっていました。
// ======================================== // ======================================== // ======================================== // 本番用コード(最終的に有効にする) // // …… // …… // …… // // ======================================== // ======================================== // ======================================== // ======================================== // ======================================== // ======================================== // テスト用コード(最終的に削除する) …… …… …… // ======================================== // ======================================== // ========================================
(「=」が一杯並んでいるところは、修正忘れ防止で目立つようにするための目印だと思う)
C++のコンパイラには、大抵「条件付きコンパイル」という機能が付いていてね、それを使うと便利ですよ?
(知らない人はググるとかすれば良いです)
そんな突っ込みを入れ(と言うか、「皆でしっかりチェック」した段階で誰か指摘すべきことだと思うな)、更に「皆でしっかりチェック」した結果、こうなりました。
#if 0 // ======================================== // ======================================== // ======================================== // 本番用コード(最終的に有効にする) …… …… …… // ======================================== // ======================================== // ======================================== #endif #if 1 // ======================================== // ======================================== // ======================================== // テスト用コード(最終的に削除する) …… …… …… // ======================================== // ======================================== // ======================================== #endif
………
………
………
「良く分からないけど、指摘されたから、とりあえず条件付きコンパイルを使ってみました」的な、無効化する方法が変わっただけで、本質は何も変わってない変更ですね。
無効にする時にコメント記号を書かなくても良くなっただけ、ちょっとはマシですけど。
一応解説すると、上の様な書き方は、完成版にする時に修正忘れをする危険があるから、やってはいけない方法と言われています。
そして、完成版として納品されたのが、これ。
当然「皆でしっかりチェック」済み。
#if 0 // ←注目:無効のまま // ======================================== // ======================================== // ======================================== // 本番用コード(最終的に有効にする) …… …… …… // ======================================== // ======================================== // ======================================== #endif #if 0 // ======================================== // ======================================== // ======================================== // テスト用コード(最終的に削除する) …… …… …… // ======================================== // ======================================== // ======================================== #endif
本当に修正を忘れてる。ベタ過ぎて笑えない。
というか、正しく動かないよね、これ。
ソースコードをチェックするとか以前に、もしかして動作確認もしてませんか?
【- 目次 -】
今日の一冊 | |
|
タグ:伝説のプログラマたち
2009-04-30 09:08
nice!(0)
コメント(0)
トラックバック(0)
コメント 0