クラスモジュールの利用の普及を促進すべく、VBAの若干クラスモジュールについて書いてみる。
ここで、クラスモジュールとは、とかオブジェクト指向とは、という話を始めると「?」となるだろう。よって、ちょっと観点を変えて、クラスモジュールのメリットから入ることにする。
このブログのタイトルに「メタボなコードにサヨナラ」と記しているが、「メタボリックなコード」とは、同じようなコードが何度も登場するようなムダの多いコードのことだ。これを解決できる、というのがメリットである。
例1)値が数字だけで構成されているかをチェックする処理で、チェックのロ処理が何度も出てくるケース。
例2)データベースと接続しSQL文を発行する処理で、ADOやDAOなどの接続処理が何度も記述されているケース。
また、メタボとは少し違うが、
例3)共通化はしてあるが、関数名やプロシージャ名が長く、利用しづらいケース。
上記、3例挙げたが、クラスモジュールを用いれば解決できる。
工夫すれば標準モジュールでもできなくはないが、クラスモジュールを用いた方が簡単に実現可能だ。
上記の例を考えながら、メタボリックなコードにサヨナラするとどうなるのか。それ自体がおそらくクラスモジュールを使うメリットといえるだろう。それを一般的な言葉で表現し、列挙してみよう。
・複数登場する再利用しやすい形で切り出しやすくなる。
⇒冗長部分を減らせる。
⇒メインロジックの可読性が高まる。
⇒現在の処理の理解が理解しやすくなる。
⇒変更時の影響を特定しやすくなる。
⇒バグの混入を減らせる。
⇒変更時の修正箇所を減らせる。
・再利用性が高まる。
⇒開発工数を減らせる。
⇒テスト工数を減らせる。
まだありそうだが、とりあえずこんなところか。
ここで、クラスモジュールとは、とかオブジェクト指向とは、という話を始めると「?」となるだろう。よって、ちょっと観点を変えて、クラスモジュールのメリットから入ることにする。
このブログのタイトルに「メタボなコードにサヨナラ」と記しているが、「メタボリックなコード」とは、同じようなコードが何度も登場するようなムダの多いコードのことだ。これを解決できる、というのがメリットである。
例1)値が数字だけで構成されているかをチェックする処理で、チェックのロ処理が何度も出てくるケース。
例2)データベースと接続しSQL文を発行する処理で、ADOやDAOなどの接続処理が何度も記述されているケース。
また、メタボとは少し違うが、
例3)共通化はしてあるが、関数名やプロシージャ名が長く、利用しづらいケース。
上記、3例挙げたが、クラスモジュールを用いれば解決できる。
工夫すれば標準モジュールでもできなくはないが、クラスモジュールを用いた方が簡単に実現可能だ。
上記の例を考えながら、メタボリックなコードにサヨナラするとどうなるのか。それ自体がおそらくクラスモジュールを使うメリットといえるだろう。それを一般的な言葉で表現し、列挙してみよう。
・複数登場する再利用しやすい形で切り出しやすくなる。
⇒冗長部分を減らせる。
⇒メインロジックの可読性が高まる。
⇒現在の処理の理解が理解しやすくなる。
⇒変更時の影響を特定しやすくなる。
⇒バグの混入を減らせる。
⇒変更時の修正箇所を減らせる。
・再利用性が高まる。
⇒開発工数を減らせる。
⇒テスト工数を減らせる。
まだありそうだが、とりあえずこんなところか。