Twitterでつぶやいたネタをまとめてみようかと。
プログラミングを行う上で、幾つかお作法があります。必ず全てを実行できる保証は無いのですが、出来る限りやった方が良い、というお作法をまとめてみます。
1)プログラムの中にリテラルを書かない
「リテラル」というのは、例えば「1」などをはじめとする数字とか、「ファイルが見つかりません」などの文字列など、変数や定数として定義されていないものを指します。
よく使われる例としては
if($a==1){
とか
if($a=='TRUE'){
などと書くことがあります。この場合、リテラルは「1」「TRUE」です。この書き方は実はダメな書き方です。
なぜダメかというと、もし「1」や「TRUE」じゃなくて「3」とか「TEST」に変更になった場合、この書き方だと関連するところを全て書き直さなくてはいけません。すると必ず漏れは出てくるわけで、バグの温床となります。
ではどう書くかというと、どこか別のところで
$CHECK_VALUE1=1
$CHECK_VALUE2='TRUE'
とか1カ所にまとめて書いておき、上記のif文は
if($a==$CHECK_VALUE1){
とか
if($a==$CHECK_VALUE2){
というふうに書くわけです。こうしておけば、もし変更になったとしても、必要に応じて$CHECK_VALUE1、$CHECK_VALUE2の値だけ書き換えれば良いわけで、あちこちを書き直さなくても良くなります。バグも当然減ってくるわけです。
2)メッセージはメッセージクラスに
これはですね、「エラーが発生しました」などのメッセージを出さなくてはいけない場合があります。これをプログラムの中に直接書くのは御法度というわけです。
メッセージはそれこそ変更がかかりやすいリテラルの最たるもので、
「やっぱりこのメッセージはわかりにくいからこっちに変えよう」
などと、直前まで修正がかかる可能性が高いのです。ですので、こういうメッセージはやはり1カ所に集めます。出来ればメッセージクラスという1つのファイルを作り、全てのメッセージをここに集めてしまいます。
そしてメッセージはExcelなどで管理し、このExcelファイルからマクロでメッセージクラスを生成する、というのがお薦めです。そうすれば、プログラマだけでなく、メッセージを考えるお客さんも見やすくなり、作業が結果として楽になります。
というわけで、是非リテラルとメッセージは1カ所にまとめ、プログラムの中に書かないようにしましょう。
今日の歩数:12,892(10月合計:284,811歩)
今日の体重:66.3kg