ソフトウェア開発者の日常

こだわりなく書きたいことを書いていきます。

転ばぬ先の杖のような、システムのチェックと修正

最近は、5月に利用が終了したシステムを再利用するために設定変更作業をしつつ、プログラムをチェックしています。

不具合の報告があったわけではないので、プログラムのチェックはしなくてもよさそうです。
それでも、システムの利用開始後に得た新たな事項を反映すべきではないのかとチェックしています。

どんなことをチェックしているのか

  1. ショートタグ(<?)が使われていないか。
  2. 同時に同一Webサイトの別システムを利用された場合の制御が行われているか。
  3. POST動作の後に、フォームをリロードする動作をしていないか。
  4. メールの送信は、PEAR::Mailを使っているか。
  5. ボタンを誤って連続で押されないように、無効化処理をしているか。
  6. データベースロックを行っていて、適切な位置で行われているか。

f:id:AJYA:20160624164528j:plain
photo credit: Lomac LM-80L Andy Walker with a Pico Ammeter ? 81_21 via photopin (license)

それぞれどんな理由でチェックしているのか

  1. 利用中のエディタがショートタグ(<??を許可していなくて、コードの色分けがされず読みづらいので、長い形式(<?php)のタグに置きかえています。
  2. 同時に同一のWebサイトの別のシステムを利用されると、セッションで保持している値が後からの値で上書きされてしまうので、エラーになるように修正します。
  3. リロードすると、POST動作を再実行する際の警告メッセージが表示されるので、リロードではなく、GET動作をするように修正します。
  4. mb_sendmail()でメール送信をしていたら、特定のユーザーだけメールの件名が文字化けする現象が発生しました。
    PEAR::Mailでメール送信を行うように修正したら、文字化けしなくなったので修正しています。
  5. ボタンを連続で押すつもりがなくても押してしまい、2重登録されるときがあるので、ボタンを無効にする処理を追加しています。
  6. 登録の上限に達していいたら、登録できないようにチェックしています。
    データベースのロックがされていなくて、残り登録可能数が1のときに同時に登録をテストしたら、エラーになかった経験があります。
    登録の上限チェックの開始時点で、データベースをロックするように修正しています。


過去のシステムの使いまわしといえども、使うたびになんらかの修正を加える手間がかかります。