blog

program

テストサーバー不要!? プログラミング環境構築で開発を効率化

プログラムを開発するときにテストサーバーを使用することは一般的ですが、コーディングやテストといった作業ではテストサーバーを使用すると不便に感じることが多々あります。そこで、開発を効率化するためにローカルPCに開発環境を構築するメリットについてご紹介します。

テストサーバーを使用した開発で不便に感じること

(1)テストサーバーを立ち上げる手間、費用、時間が掛かる

テスト用にサーバーを用意するためには、自社でサーバーを持っていない場合、ホスティングサービス会社とサーバーのレンタル契約申し込みをする必要があります。また、契約すれば当然、契約料金が発生しますので、長期の開発プロジェクトなどで入念に動作をチェックする必要があれば契約するメリットはあるでしょうが、数日程度での開発を行う場合は、契約コストが無駄になるかと思います。

例えば、本番稼働中の問い合わせフォームなどに項目を追加したいとの要望を受けることがしばしばあります。現在稼働中である以上、動作をチェックしようとするならば、本番とは別に環境を用意しなければならないですが、このような場合、顧客への要求に迅速に応えるためにはテストサーバーの準備に時間をかけたくないものです。

(2)複数人で開発を行うときには、他の開発者が使用しているデータを誤って更新したり削除したりしてしまう可能性がある

一つのサーバーに複数の開発者がアクセスしている時に注意しなければならないのは、別の開発者の作業中にファイルやデータを更新や削除して、テストに支障をきたしたり、作ったプログラムに戻りが発生しないようにすることです。せっかく作ったプログラムをもう一度作り直さなければならないのは苦痛ですし、開発効率も悪くなります。

(3)デバッグがやりづらい

バグを発見するのがデバッグの役割ですが、サーバー上でプログラムを実行していると変数の値やプログラムのどのステップを通っているかなどの情報は非常に分かりづらいものです。プログラムの中にデバッグ文を挿入するなどして値を出力することで変数の値を知ることは可能ですが、その分効率が悪くなります。

(4)テキストエディタでは、ソースコードが読みづらい

PHPはJavaなどと異なり、コンパイルの必要がありませんからファイルをアップロードすれば実行できてしまいます。手軽に実行できる半面、文法間違いなどのケアレスミスがあっても実行するまで気付かないこともよくあると思います。実行時のエラーが出ても、文法間違いのようなエラーは、テキストエディタで見ても分かりづらいのです。

これらのデメリットはローカルに開発とテストを行える環境を構築することで解消できます。私はEclipse(エクリプス)という開発環境を使用しています。代表的な開発環境の一つです。

ローカルに開発環境を構築するメリット

(1)サーバーを必要としない

外部のレンタルサーバーを使用しなくても、開発や動作のチェックが可能となります。ホスティングサービス会社との契約の手間もなく、レンタル料も掛かりません。余計なコストを気にせずに開発できます。

(2)自分のPC端末で作業をするので、他の開発者を気にせずにデータを自由に設定できる

プログラムによっては動作を確認するために、専用のテストデータを準備しなければ確認できないことがあります。例えば、システム上の日付によって表示が変わるようなプログラムをチェックする場合、システムの日付を変更しなければ確認できませんが、レンタルサーバーなどを使用した場合、日付を変更することは不可能でしょう。ローカル環境であれば、他のユーザーを気にすることなく自由に設定することが可能です。

(3)プラグインなどを導入することでデバッグが可能

統合開発環境には様々なプラグインを備えており、デバッグ機能を実現するプラグインもあります。ソースコード中にブレークポイントを設置するとプログラムを実行したときにそのステップで処理が止まり、止まった時点での各変数に入っている値を確認することができます。また、処理を1ステップずつ進めることが可能ですので、自分が想定した処理ができているかどうかを容易に確認することができるのです。

(4)一般的なテキストエディタよりもソースコードの視認性に優れる

使用するテキストエディタにもよりますが、一般的にテキストエディタではプログラム中のタグや予約語、コメントなどは、色分けなどで識別されないことが多いと思います。また、PHPの場合、HTMLのコードとPHPのコードが一つのファイル中に混在していることが多く、テキストエディタでコードを見た場合、HTMLとPHPの区別がつきにくいことがよくあります。私が使用しているEclipseではデフォルトの設定でHTMLのタグやPHPのタグ、コメントなどが色分けされます。ソースコードの視認性が増すので文法間違いやバグの削減に効果を発揮します。

▼Eclipseのエディタ eclipse02

まとめ

昨今はコンピューター言語の種類や技術革新で、様々な処理を実現することが可能となった一方で、大量のソースコードを編集しなければならないことも少なくありません。本などで言語を学習するときは、単純なサンプルソースで学ぶことが多いので、テキストエディタでコードを編集しても苦にならないかもしれませんが、実際に運用されているソースを編集するとなると話は別でしょう。学習段階からツールの使い方に慣れておけば仕事で実践するときに役に立ちます。自分専用の開発環境を作ってみてはいかがでしょうか?