Boost」など、さまざまなカンファレンスを企画・運営しています。BOOKS(コードジン・ブックス)は、CodeZineの連載からカットアップした、開発現場の課題解決に役立つ書籍シリーズです。5デバッグ(その2)まとめサンプルコードTDDではおなじみのFizzBuzzです。FizzBuzz問題をご存知ない方は、Wikipediaの記事などを参照してください。バグを埋め込むために、わざとswitch文を使った変な実装にしてあります。昨日の仕様だけどね」b君「なんでしょう?」エライ人「言い忘れたけど。あれって、1から始まるんだよね...」b君「そうです」エライ人「じゃ、当然だけどゼロのときは例外にしてね」b君「はぁ」(そんな呼び出しするわけないじゃん...)引数がゼロの時(ニュアンスを汲み取ると負の時もでしょう)、文字列を返さずに例外を投げて欲しいという仕様追加です。作業に取り掛かる前に、オールGREENを確認します。したら、追加された仕様を表現するテストケースを新しく書きます。ここで出て欲しい例外は、ArgumentOutOfRangeExceptionですね。0以下のときは、例外を出す。FizzBuzzer()).Say(0));}テストコードを追加したら、予想通りのREDになることを必ず確認します。nullREDになることが確認できたら、製品コードを修正します。以下略これでオールGREENになることを確認します。リファクタリングは必要なさそうですから、これで仕様追加は完了です。Buzz"(間に半角スペースが入る)に変えてほしいという仕様変更です。メソッドの外部設計を変更する場合には、対応するテストケースが必ず存在するはずです。そのテストケースを探します。"FizzBuzz")]新しい仕様に従って、テストケースを修正します。//スペースが入るのが正しいテストコードを変更したら、予想通りのREDになることを必ず確認します。---------------^REDになることが確認できたので、製品コードを修正します。これでオールGREENになることが確認できます。リファクタリングは必要なさそうですから、仕様変更も完了です。R&Dで自動車の設計をやっていた機械屋さんが、技術の進化スピードに魅かれてプログラマーに。以来30年ほど、より良いコードをどうやったら作れるか、模索の人生。くま同盟の勉強会(名古屋)で、よく喋ってたりする。モブプログラミングを取り入れて開発を効率化させるヒント9企業の7割超が「2025年の崖」を理解していないことが明らかに。モブプログラミングを取り入れて開発を効率化させるヒント9企業の7割超が「2025年の崖」を理解していないことが明らかに。モブプログラミングを取り入れて開発を効率化させるヒント9企業の7割超が「2025年の崖」を理解していないことが明らかに。5.0」がリリース新着記事一覧を見るイベント今後の予定を見るCodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。イラストの無断転載を禁じます。記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。