CONTENT
皆さん、こんにちは。
今回はプログラミングを習ったことがある、またどのようなライブラリがあるかを知っているかたに向けて書いていこうと思います。プログラミングとはどういうものかを知っているかたが次のステップに行くには「コードリーディング」が重要となってきます。ここではコードを読むポイントを少しご紹介します。
①クラスの役割、構造を知ろう
コードを読む前に大前提として、クラスには役割があるといくことを知っておきましょう。ここではwebアプリに絞りますが基本的に以下のような構成になっています。
◎Controllerクラス
ここが全ての始まりです。URL、HTTPメソッドごとにメソッドを用意してURLごとの処理を用意しています。メソッドの内容は、情報取得、登録、更新、削除です。また、Contollerクラスはリクエストとレスポンスをそれぞれ使用します。リクエスト(要望)を受け取り、レスポンス(結果)を返す役割をするクラスとなります。そのレスポンスが画面に表示される情報になります。
◎Serviceクラス
Controllerのリクエストで受け取った内容からレスポンスする結果を出すのがこのServiceクラスとなります。
◎Dao(Data Access Object)クラス
データベースにある情報を取り出したり格納するのはこのクラスで行います。このDaoクラスはServiceクラスから呼び出すことが多いです。
基本的に処理で使うのは大きく分けてこの3つのクラスです。
流れとしては、
1. Controllerクラスでリクエスト(要望)を受け取る
2. Serviceクラスで結果となる情報を作成(処理)する
その時にデータベースの格納されている情報が必要ならばDaoクラスを呼び出しデータを取得する
3. 作成した結果情報をControllerクラスへ返す。
4. Controllerクラスが結果をリクエストされたところに返す(レスポンスする
アプリの中でやっていることは「要望を受け取る」「要望を満たす結果を作成する」「作成した結果を返す」という処理の流れができます。まずはその大きな流れを掴みましょう。
②メソッドは引数と戻り値を確認しよう
クラスの中には処理内容を記述してある「メソッド」があります。このメソッドがどのような情報を受け取って、どのような情報を返すのかを把握しましょう。ここでも詳細な処理よりも大局的に見ることが理解の第1歩です。
③ライブラリの利用を把握しよう
実際にプログラムを書く時はほぼライブラリ(ある特定の機能が実現できるようにしたプログラムをまとめたもの)を利用しています。1つのプログラムの中で利用しているライブラリがどのようなものなのか、またそれを利用することでどのような結果になるのかを把握しましょう。
以上、簡単ですが3つほどあげさせていただきました。
ちなみに皆さんは読書はお好きでしょうか?本など著者によって文体などが異なります。例えば初めての著者の本で、自分に合わない本でも最後まで読み終えれば詳細はともかく全体のストーリー(話)は理解できた、ということは多いのではないでしょうか。
プログラムも同様にコードを書いた人によって文体が違い、かつ詳細が理解できないかもしれませんが、まずは大まかにストーリー(処理の流れ)を掴むことが重要だと思います。詳細を知ることは必要になったときにちゃんと調べる、という位の気持ちで良いですよ。
本日はここまでです。皆さんもぜひ他の人のコードを読んで次のステップへ足を進めてみてください。