考えてない

http://d.hatena.ne.jp/bleis-tift/20081206/1228492885

「考え方の違い」というか、「考えてない」のが正しいのでは。


ツールに関しては自分でツールを作らない人がすごく多いのを感じています。

例えば単純に既存のツールで使えない置換が必要だった場合、置換プログラムをすぐに作るのが標準的ななプログラマだと思います。

例えばJavaならばIDEは目の前にあってJDKなど開発環境は整っているのですから、すぐにSwingのGUIツール作って実行して動作確認できますよね?結果を確認したらすぐに消します。ツールの作成から実行、削除まではものにもよりますが、通常5分程度ですよね。なぜか目で確認する作業を数時間かけて直していきます。もちろんミスが増えていくことになります。

他人の仕事を自動化(つまりシステム開発のこと)させるくせに自分の仕事は自動化させないんですね。


このエントリで一番注目するところは最後のほうにちょろっと書いてある部分だったりします。

「何らかのアクション※8に対する何らかのアウトプット※9」のテストが最小の粒度のテストって時点で何かがおかしい。

※8:アプリケーションを起動する、だとか、ボタンを押す、だとか
※9:DBにこういうデータが挿入される、だとかどこどこのセルにこういう値が表示される、だとか

あるあるある・・・ありすぎて泣ける。単体テストじゃないんですよね。常に結合テスト。バグがあった場合アクションにミスがあるのか、サービスに問題があるのかデータアクセスロジックに問題があるのかの判断が不可能。

一応表面上テストするだけかなりましと思うのもありかもしれません。コンパイルエラーがなくてそれなりに動いている(修正した箇所がちゃんと動いているかの確認をしない)状態を「完成した」という人種もそれなりにいますので・・・。