【保存版】2013年度発売全パチスロアプリ一覧(iPhone,iPad)

【Access】上流処理で修正対応する?それとも下流処理?

/*以下は、お仕事のプログラムのお話です。*/

あるプログラムに対して修正が発生した場合、
処理の上流を修正するか、下流を修正するか?

すでにプログラムが完成している場合、修正工数をおさえるべく、
できるだけ影響範囲が小さい方法で対応するのが基本姿勢。
(エレガントかどうかは地平線のかなたにおいておいて)

で、どちらで修正するかはケースバイケースとなります。

クラサバではありませんが、WEBのMVCモデルのフレームワークに関して、
以下のようなエントリがありました。
(Accessだと、データ作成時に処理するか、画面表示・帳票側で処理するのか
になるかと思います。)
MVCで、M(DB側)とV(表示側)どちらを修正するか?-ウィリアムのいたずらの開発日記
今、MVCモデルで、コントローラー部分はフレームワークになっていているものとする。
表示をJavascriptで行っているのだが、ある変数に
"null"という文字列が入ってくる。
この現象は、あるSQLを発行したとき、Selectで指定する1つの数値項目(valとしよう)がnullの
ときに、このようになり、SQLでselectする際nullだったら空文字を返すように書き換えると、
空文字になるようだ。
このとき、画面上にnullという文字列が表示されないようにしたい。
(1)view側で、"null"という文字列が来たら空文字に変換する
(2)SQLでvalがNULLのときに空文字に置き換えるようにする

データ取得時(上流処理)もしくは、アウトプット時(下流処理)に
NULLを別の値に変換して対応する場合、考慮すべき点は、
NULLを変換した値でもNULLと同様に処理されるかどうか。
上流側の場合、処理全般にわたって問題ないかを確認する必要が
あるのに対し、下流側では該当部分一点の確認で済みます。
(NULLってホントやっかいですね。言語により扱いが異なる場合があるので要注意)

で、実際どのように修正するかを考えたとき、

(パターンA) 上流処理で対応するとそれなりにテストをする
必要がある(影響範囲が広いので)が、
下流処理に手をいれる必要はない。

(パターンB) 下流処理で対応すると修正工数は少なく
てすむ(影響範囲が狭いので)。ただし、
同じような処理が複数ある場合はそれなりに工数がかかる。
また、将来的にも同じ処理を埋め込み続ける必要がある。

(パターンC) 誰かの作ったおそろしく手をいれたくないプログラムなので
できるだけ影響反映を小さくするべく下流処理に手をいれる。

を勘案し、
(修正工数 + テスト工数 + 保守工数 + 諸事情を工数変換したもの(笑))が
最小となるパターンを選択します。

趣味の場合は、パターンAですが、お仕事の場合、
パターンB以降で対応する場合がありますねえ。

ちなみに元エントリのテーマは、パターンAで対応するっていう人はちゃんと
テストを考慮して言ってるんかい?というお話でした。
[Google PR]

Twitterはじめました。プラプラ | Twitter

<< 【SQLServer】超シンプル!再帰CTE(共通テーブル式)で連続データを作成する。
【CakePHP】あれ?つぶやいてない!に効く、Twitterbotの新API(1.1)対応方法。 >>

[関連エントリ 最新5]

[Google PR]


[最新エントリ 5]

>>トップページ
人気カテゴリ:AccessTips SQLServer CakePHP iPad
過去ログ(全記事一覧)

コメント
コメントする(お気軽にどうぞ)









この記事のトラックバックURL
トラックバック
カテゴリー
プロフィール
お問い合わせ
Powered by NINJA TOOLS
links
recent comment
  • 【Access】vbaでhmacが正しく計算できた!!
    まさ (06/01)
  • 【Access】AccessReportMailメール送信時のポートを25から587へ
    わら (05/31)
  • 【SQLServer】超シンプル!再帰CTE(共通テーブル式)で連続データを作成する。
    sazi (09/08)
  • 【あまっちゃお】Amazon商品検索「あまっちゃお」プロジェクト始動。Ver00-06-00 β
    カメちゃん (07/31)
  • 【Access】あれ?DoCmd.RunCommand acCmdSaveRecordの内部仕様が変わった?
    花姉 (03/17)
  • 【Access】実行中のmdb(自分自身)をバックアップコピーする方法。
    亀 (02/06)
  • 【雑記】Amazonでの注文時、TMGさん発送にご注意を。納期を守れない可能性あり!
    管理人 (01/31)
  • 【雑記】Amazonでの注文時、TMGさん発送にご注意を。納期を守れない可能性あり!
    あ (01/31)
  • 【雑記】Amazonでの注文時、TMGさん発送にご注意を。納期を守れない可能性あり!
    K (11/13)
  • 【VAIOP】VaioXと両持ちできるものすっっごくマニアックなケース。当たり前ですが在庫限り。(笑)
    管理人 (08/04)
recent trackback
  • 【Access】2003安全でない式がブロックされていませんとセキュリティーレベル。
    awgs Foundry (10/29)
  • 【VAIOtypeP】液晶保護シートは、新車のカバーではない。レイアウト社液晶/天板保護フィルムセットRT-VP1FS1
    XMLがキライ。 (04/09)
  • Vistaから、LinkStation(NAS)にアクセスできません。
    そのほかいろいろ (09/06)