【第十四章 開発】第七話 開発環境

 

 特別授業までに、新しいサーバの準備が整った。
 電脳倶楽部から、何度か、バックアップとホットスタンバイに関しての質問が来た。バランサーが無いので、マスターとスレイブの関係ではなく、バックアップを作成して手動で切り替えるようにした。

 特別授業では、電脳倶楽部から、開発サーバとテストサーバと本番サーバの説明と、各サーバへのアクセス方法が説明された。

 最初に開発されたプログラムは、開発サーバを利用する。
 デバッグが完了した物から、テストサーバに移動してテストを開始する。
 テストサーバで問題が見つからなければ、本番サーバに移動して、本番環境でテストを行う。

 開発サーバは、校内のネットワークに繋がっている。テストサーバは、クローズドな電脳倶楽部のネットワークに設置されている。
 本番環境は、まだ繋げては居ないが、セキュリティの確認が終了したら、外部からアクセスが可能なネットワークに接続される。

 勉強会のメンバーが作るプログラムを動かすのは、電脳倶楽部に設置する、監視用のパソコンだ。

 電脳倶楽部は、そのまま開発と本番サーバの評価を行う。セキュリティの確認だ。

「篠崎!準備は出来ているぞ」

「はい。それでは、始めましょう」

 資料を配る。
 簡単に作った、Visual Studio の使い方だ。検索すれば出てくる物だが、手元に無いと安心出来ないだろうと思って作った物だ。

 あとは、変数や関数やクラス名の命名規約を作った。
 同時に、各オブジェクトの命名規約も考えた。
 コメントの書き方も提示した。

「なぁ篠崎。命名規約は解るが、コメントは、実行時には関係はないのだろう?」

「えぇそうです。でも、ソースコードを後日に見直す時には、必要になりますよ。やってみると解りますが、数日前に書いたソースも思い出せなくなります」

「そうなのか?」

「はい。それに、コメントは、他の人がソースコードを検証する時の手助けになります」

「そうか、わかった。命名規約も、細かいけど、それも同じ様な理由なのか?」

「はい。コメントよりも、変数や関数やクラス名のほうが大事ですメンテナンス性にも影響します」

「わかった。それで、最後に説明した。多人数での開発に関して教えて欲しい」

「はい。もちろんです」

 電脳倶楽部には、Gitサーバを起動させている。秘密基地のサーバを使っても良かったのだが、管理を電脳倶楽部が行うのなら、校内に作ったほうがいいと判断した。立ち上がっていたファイル共有用のサーバに、Gitセットアップして、ソースの管理を行う。

 ソース管理を、徹底すれば大きな問題には発展しないだろう。
 勉強会のメンバーの開発は、パソコン室のパソコンを利用する。ユーザは、移動プロファイルになっているので、セキュリティも大丈夫だろう。ソースコードが流出しても問題にはならないとは思う。

 Gitの使い方も冊子にはまとめてある。
 基本的なことだけで、後は電脳倶楽部で購入した、技術書を読んで欲しい。全部説明していたら、1日だって終わらない。基本操作だけでも覚えれば十分だ。イレギュラーが発生したときに、書籍を読んだり、検索したりして解決方法を探せばいい。

 開発環境の説明だけで、授業が終わってしまった。
 今日は、最初から延長をお願いされていて、簡単なプログラムを作るまで説明を行う。

 難しく考える必要はなく、次の特別授業では、Visual Studio を使って入力した”二つの数値を指定した方法で計算して結果を表示する”プログラムを作ってもらう。

「いいのか?指示されたプログラムを作らなくて?」

 十倉さんからの質問は正しいが、いきなり作って作れる物ではない。
 それに、ツールに慣れてもらわないと、同じ様な質問を何度も受ける状態になってしまう。

「大丈夫です。遠回りに見えて、近道です。それに、電脳倶楽部も、まだAPIをカプセル化するライブラリの開発が終わっていません。来週には、間に合う予定なので、ライブラリを使う方法を併せて、再来週に実装を始めれば間に合います」

「そうか?」

「はい。難しいように思えますが、それほど難しくは有りません」

「お前の基準が、俺にはわからない」

「あぁ・・・。そうですね。十倉さん。サッカーで、ドリブルもまともに出来ない人間に、セットプレイを教えたいと思いますか?」

「あぁ・・・。そうだな。そう言われたら・・・。わかった。お前の指示に従う」

「はい。お願いします」

 画面の作成は、皆に同じにしてもらう。
 差が出ると説明が面倒になる。

 フォームを一つ用意して、ラベルを4つ貼り付ける。”数字1”/”数字2”/”結果”/”  ”だ。バランスは、後で整える。次に、テキストボックスを二つフォームに貼り付ける。数字1と数字2の入力用だ。ニューメリックボックスアップダウンコントロールでも良かったのだが、テキストボックスにしておく、エラーチェックを学んでもるためだ。次に、グループボックスを配置してタイトルを”計算方法”とする。中に、ラジオボタンを配置する”足し算”/”引き算”/”掛け算”/”割り算”/”余り”とテキストを変更する。
 ボタンコントロールを配置して、”計算”とテキストを編集する。

 説明をかなり駆け足で行ったが、問題はないだろう。
 サンプルでコードも少しだけ書き始める。

 ボタンコントロールを”ダブルクリック”すると、OnClickイベントが表示される。面倒で、ダブルクリックをしたが本来のやり方も説明しておく。

 サンプルは至って簡単だ。
 数字1と数字2とラジオボタンで選択されている物を使って、計算式を作成して、空白になっているラベルに表示する。

 これだけのコードを作成して、前回と同じようにプロジェクターで表示して、コピーしてもらう。
 コンパイルを実行して、計算ボタンを押せば、結果が表示される。

 前回もやっている上に、今度はインテリセンスまで有効になっている。
 記述によるコンパイルエラーは避けられるだろう。コンパイルエラーもVisual Studioが優秀なので、ある程度は絞り込める。

 実際に、勉強会に参加しているメンバーの全員が、30分程度で、ソースの入力だけではなく、コンパイルと実行を終わらせた。

 計算を行うだけ、それも二つの数字の四則演算だ。
 勉強会のメンバーは、電卓を思い浮かべて簡単にできるだろうと思い始めているようだ。100円程度で買える物がそれほど難しい物ではないと思っている。大きな間違いに気がつくのは来週になるだろう。

 楽しみだ。
 ノーヒントで作られるほど、プログラムは簡単ではない。

 そのためのサンプルを用意したのだ。

 ただ、テキストに書かれた内容を数値化する部分や、テキストに書かれたのが自然数ではなかった時の処理や、負の数値だった時の処理や、沢山の可能性がある。割り算と簡単に書いてあるが、整数での計算を前提にしているのか、小数点まで表示するのかで変わってくる。余りも同じだ。誰かが気がついて聞いてきたとして、対応が難しい。
 表示も数値を文字列に変換しなければならない。ToString()で文字列化はできるが、小数点表示やラベルの設定を変えなければ、はみ出してしまう結果になってしまう。
 それに、引き算や足し算でも、問題は発生するだろう。
 割り算では、0で割った場合の処理を入れなければならないだろう。テキストに文字列を入力されたらどうするのか?

 本当に考える必要があることが多すぎる。

 勉強会のメンバーには、今回の”電卓”はGitに登録しないから、家にパソコンがあれば家で作ってきても問題なしと伝える。
 何人かは、Visual Studio のインストールファイルと作った”電卓”のソースを持ち帰るようだ。

 戸松先生と津川先生のどちらかの先生が居れば、放課後にパソコン室を使って良いとなった。時々、電脳倶楽部が伝っているので、大きな問題ではない。

 開発環境を整えて、簡単に思える”電卓”の開発が始まった。