【VBA入門】 ハードコーディングのメリット、デメリットとは?

セルネッツ推奨:VBAシステムの可変設計の例


ExcelVBAプログラミングを勉強する過程で、近い将来、変更が生じそうな「消費税適用税率」や「値引き率」など、ユーザー側の判断で必要に応じて、任意に変更ができるとコストダウンになりますよね。

みなさん、こんにちは。セルネッツ竹本です。


今回は、完全な固定値をプログラム内で書いてしまう「ハードコーディング」とは何か。

そのメリット、デメリットについて、解説いたします。


◆ハードコーディングとは?

システム開発を進めてゆく過程で、「消費税適用税率」や「値引き率」などを、プログラム内に直接コーディングすることを言います。

冒頭の画面図は、Excelワークシート上で、ユーザー側がいつでも任意に変更ができるため、変更があっても、プログラム修正は必要ありません

いっぽう、下図のようにVBAソースに直接、値を書いてしまう方法もあります。

これが「ハードコーディング」です。

セルネッツ非推奨:VBAシステムの固定ハードコーディング設計の例



どちらにも、メリット、デメリットがあります。

システム開発会社の立場からすれば、「不具合のリスクを抱えることにもなるため、あまり内部を触って欲しくない。」

という事情もありますが、大規模システムでもなく、特定の事務員のみが使うのであれば、ユーザー側の利便性や変更時の発生コストを考え、可変で提供することが望ましいと考えます。

【固定】で書くメリット、デメリット

まず開発者にとってのメリットですが、管理や仕組み面では、責任要素が増えることもなく、開発においては、「楽(ラク)」になります。

前述のとおり、ユーザによる設定ができないので、品質的にも安心です。

但し、変更が生じた場合は、プログラム修正は間違いなく必要となりますので、発生コストの問題が浮上してきます。

ユーザに合意の元であればよいですが、「聞いてないよ」、「不親切」、「意図的」と捉えられないよう設計段階の仕様で決めておくことが重要になります。

【可変】で設計メリット、デメリット

開発者目線でははく、利用者であるユーザ目線においては、ユーザー責任にはなりますが、改修コスト発生もなく、いつでも変更を適用することが最大のメリットになります。

◆「消費税率」など変更が想定される情報などは可変設計に

これまで消費税率は、3%、5%、8%、10%と改定をしてきました。

この先だって、改定は想定範囲内ですから、システム開発する際は、原則、プログラム記述するのではなく、任意に設定できるよう「可変」で設計する方が、ユーザーにとって、コスト面では安心です。

但し、これを良しとするかどうかは、開発理念にも直結するため、ユーザがシステムに介入するリスクも考えた場合、あえて意図的に、プログラム記述する場合もあります。

個人的には、大規模システムではないExcel業務の場合は、可変がお客様のためのような気がします。


(Point)

ExcelVBAマクロは、基幹系の全社業務を担うシステム規模ではない点や、経理、総務のごく少人数で活用するツールであれば、可変設計のメリット、デメリットを伝えたうえで、最終仕様を決定することをおすすめいたします。

修正コスト発生となれば、「社内稟議」の問題もありますので、コストパフォーマンスを優先するのか、コストが発生しても安全性を優先したいのか相談の上、仕様決定が良いと思います。

今回のテーマは、「ハードコーディング」について、解説を行いました。

本記事が、品質向上において、ご参考お役立てになれば幸いです。

全国対応!お気軽にお問い合わせください