オブジェクト倶楽部クリスマス会の告知を公開してからほぼ1ケ月となりました。おかげさまで定員に達し、参加募集を締め切らせていただきました。ありがとうございました。−プログラミングの体質改善はじめまして。リファクタリングについて連載させていただくことになりました。以後、よろしくお願いいたします。この連載では、リファクタリングについての概要を説明し、その後、リファクタリングを必要とするコードの特徴(不吉な匂いとして表現されています)と対処をとりあげます。同様の記事もオブジェクト倶楽部で読むことができます。興味を持った方は、連載がつまらなくならない程度にお読みください(笑)http://www.objectclub.jp/UnderstandingRefactoringByChart/さっそくですが、リファクタリングとは何かを簡単に説明しましょう。拡張しやすい状態にする』ということです。かっこよくいうと、『ソフトウェアのエントロピーの増大を抑えて、しあわせなプログラミング人生を送りましょう』て感じでしょうか。なんだか標語みたいになりました。べつにかっこよくなかったですね。リファクタリングによって、『設計の向上(設計の劣化を防ぐ)』と『可読性の向上』を得ることができ、拡張やバグ修正をやり易くすることができるわけです。筆者としては『美しいソースを書いて自己満足を得られる』『他人にソースを読まれても恥ずかしくない』などの効果も大好きです。ここまで読んで、リファクタリングっていいなーと思えたなら、一緒に先に進みましょう。リファクタリングを行うにあたって必須となるものがあります。修正が正しいことを確認するためのテストです。このテストが不十分だと安心して修正することができませんし、テストに時間がかかるようだと、修正を行う気力が萎えてしまうでしょう。JUnitなどの自動テストツールを導入することが望ましいです。リファクタリングでは、自動テストによって動作を保障しながら、少しずつソースコードを改善していきます。不吉な匂いの1つ『コメント』を紹介します。ソースコードにコメントを書くことはとても良いことで、コードの読解に役に立ちますが、非常に丁寧に書かれているコメントの中には、わかりにくいコードを補うために書かれているものもあります。コメントの必要性を感じたときにはリファクタリングを行って、コメントを書かなくても内容がわかるようなソースコードへと改善しましょう。メソッド内の処理の一部を説明するのにコメントが必要な場合は、その部分に対して『メソッドの抽出(例)』を試みましょう。メソッドは細かく抽出されているのにコメントがないとわかりにくい場合は、『メソッド名の変更』を試みましょう。これだけでソースコードは、ぐっと読みやすくなります。}-----------------------------------------------------------黒線の上を走るロボットがコースを外れた場合に、コースに復帰する処理です。雰囲気は伝わりましたか?今回は、リファクタリングの概要と、不吉な匂いから『コメント』を紹介しました。実践すれば、コメントが少ないことを指摘されても言い訳できますね(笑)次回は、不吉な匂いから『重複したコード』を紹介する予定です。わかりにくい点や質問などは随時とりあげていきたいと思いますので、気軽にご意見をお寄せください。(梅田)_______________________________________________________________________この記事への評価にご協力をお願いします。URLをクリックして、「ご協力ありがとうございました」のメッセージがご使用のブラウザに表示されれば投票完了です。みなさん、はじめまして、IENAGAと申します。この記事は、初級プログラマである私がみなさんと一緒にC#を使ってオブジェクト指向の基礎を勉強していこう、という内容です。オブジェクト倶楽部♪」を出力するプログラムを作成です。次の2つを順番にダウンロード・インストールします。私がダウンロードした時点のバージョンは1.1です。入力しコンパイラが実行できればOKです。「C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322」でした。毎回入力するのは、面倒なのであらかじめ環境変数を設定するとよいでしょう。今度は、動くプログラムを作成しましょう。