XcodeによるSwiftプログラミング中級講座

ユニットテストとリファクタリング

全334コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
ユニットテストとリファクタリングの関係について説明します。
講師:
04:04

字幕

このレッスンでは、ユニットテストと、リファクタリングの関係について説明します。まずリファクタリングというのは、プログラムを保守しやすい状態に保つためにコードの見にくい場所や無駄なコードを修正する、こういった作業のことを示します。すなわち例えばですね、作業を進めていくととりあえず用意しておいた変数の名前がなんとなく、実態にそぐわないものになっていたということであるとか、あるいは同じことが関数にも言えます。クラスの名前もですね、クラスにだんだんと機能が追加されていって豊富になってくると、元々のクラスの名前よりもちょっと変えたほうがいいんじゃないかといったことが出てきます。他にもですね、ここにあるように、マジックナンバー特定の数値がプログラムのなかに埋め込まれていて、この 132 という値はなんだろうとといって頭をひねるようになってないか、とか、それからメソッドの実装が長くなりすぎていないか、あるいはクラスの実装が長くなりすぎていないか、ということを見てそれをさらにさらに親のクラスを作ったり、メソッドを二つに分割したりしたほうがいいような部分はないかということを見なおしていくのが、リファクタリングという作業です。 これはプログラムを保守しやすい状態に保つ作業ですので、基本的には一ヶ月とか二週間とか、定期的に時間をとって行うことが望ましいと言えます。だんだんですね、開発が進むにつれてだんだんプログラムの中が汚くなっていく、時間に追われてついつい意味が分かりにくい変数の名前になっていたり、関数の名前になっていたりということがあったりしますので、できるだけ落ち着いてこのリファクタリングに集中できる時間を定期的にとることが望ましいと言えます。リファクタリングには問題点もいくつかあります。特に、一部の修正が全体に影響を及ぼしてしまうことがある。これがおそらく一番大きな問題だと思います。つまり変数の名前をですね、少しわかりやすいものにしようと思って変えてしまったと、そうするとですね、もうすでに存在する変数の名前がですね、そこに出てきてしまって、コンパイルのときにエラーは出ないんだけどなんか自分が変更してないはずの値ところまで変更してしまっているというようなことがですね、起こったりすることがあります。このリファクタリングででてくる問題をできるだけ最小限に止めようということで、リファクタリングを補強する、補助する技術がですね、二つあります。 そのうちの一つがユニットテストです。テスト駆動開発でユニットテストを用意した後にリファクタリングをするともう全体のソフトのですね一部一部の動作が問題がないということをテストが保証してくれますので、リファクタリングをしてテストを実行して問題ないことを確かめる。またリファクタリングをして、テストをして問題ないことを確かめるという形で、テスト駆動開発のルーチンの一部としてこのリファクタリングという作業を組み込めるようになります。またリファクタリングをしているうちに、元々動作していたはずのところが動作しなくなってしまうというようなことが起きたときに、なにが悪かったのかということを過去のバージョンとの差分をとってですね、原因を突き止めたりすることができますし、少なくとも元々の状態に復旧することが可能ですので、バージョン管理を行うことによって心置きなくリファクタリングを行うことができるようになります。ということでこのコードの保守をおこなうためにリファクタリングをするためにも、是非ユニットテストを導入する、そしてバージョン管理を導入するといったことを心がけてもらえればと思います。このレッスンでは、ユニットテストとリファクタリングの関係について説明しました。

XcodeによるSwiftプログラミング中級講座

このコースではSwiftのプログラミングに慣れてきた方を対象に、より効率的にXcodeを使い、プロジェクトを管理するためのさまざまなテクニックを紹介します。各レッスンではブレークポイントやプロファイラを使った便利なデバッグ方法や、条件に応じてコンパイル対象のコードを書き分けるやり方など実際のアプリ開発で使える実践的なテクニックを解説します。

3時間01分 (27 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 2,990
発売日:2015年10月29日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。