MORE自動化を活用して人生を効率よく生きよう!2017.07.03みなさま、はじめまして!新入社員の宇野と申します。勉強の毎日を送っております。今回はこちらをテーマにしたいと思います。自動化についてここで言う自動化とは、コンピュータ上で人間が行う作業をプログラムに任せてしまうことを言います。作業を自動化できれば、効率が大きく上がります。テスティングフレームワークを用いたテストの自動化や、Excelなどのソフトに搭載されたマクロを用いた、普段の作業の自動化など様々なものがあります。ミスを減らせるまず、1の作業時間については当たり前ですが、今まで自分でしてきた作業をコンピュータに任せるわけですから、作業全体にかかる時間はグっと短くなります。場合によっては数時間の作業が数分に縮まることもあり、夢が広がります!次の2のミスを減らせる、ですがこちらの効果が特に大きいと感じます。1にも関係してくるところですが、自動化することで、ミスがないかチェックする時間が大幅に短くなります。これは、チェックすべき点が入力内容などに絞られるためです。ミスを起こしてしまうとそれを修正するためにも時間を取られるため、そもそもミスを起こさない仕組み作りが大切だといえます。VBAを使用した自動化の例を紹介します。2013を使用します。今回行う自動化は、指定したパラメータからC#クラスを生成するという単純な内容です。この内容を発展させて、オンラインゲームの開発ではサーバとクライアントの情報のやり取りのルールを決める際、IDLと呼ばれる共通の定義を用いてやり取りに必要な各言語のコードを自動生成するといったことも行われています。「開発」にチェックをつけておきましょう。今回は以下のパラメータを与えてクラスを生成します。クラス名クラスコメントプロパティリスト(プロパティは以下の設定項目を持つ)プロパティ名プロパティの型プロパティのコメントそしてこれらの項目を、Excelのセルに入力し、VBAから読み取って変換し、.csファイルとして出力します。簡単にデータを入力してみました。このデータをもとにコードを生成するプログラムを以下のように作成しました。プログラム内にセルの参照を埋め込んでいますのでデータの入力位置に注意してください。Basic」を選択して、ThisWorkbookに保存しましょう。保存操作によって、このExcelブックが保存されているディレクトリに.csファイルが出力されます。こちらが出力されたファイルです。このように、Excelで入力した内容からC#クラスを生成することが出来ました。クラスにpartialをつけて定義しているのは、partialをつけることで、一つのクラスを複数のファイルに分けることができ、自動生成されたファイルを変更せずにクラスを拡張することが出来るので、C#クラスを自動生成するときにはよく使われます。今回紹介した内容は、簡単な例なので生成されるコード量は少ないですが、この内容を応用して、何度も出てくる定型的なコードや、土台となるコードを生成するなど、生成するコード量を増やしていけば、かなりの作業量を軽減できると思います!また、今回は紹介できませんでしたが、特定のパラメータのみを入力可能とするなどの入力規則が簡単に利用できることもExcelの強みです。まとめ自動化をうまく使えば、時間を有効に使えるようになります。今回紹介したのは、ほんの一例ですが、プログラマの三大美徳の一つである「怠惰」を体現するためにも、自動化できるところは、自動化できるように常に考えながらプログラマ生活を送りたいですね。採用情報クラウドクリエイティブスタジオではエンジニアの方を絶賛募集中です。