ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

修正可能なシステム その8 入出力のほか、副作用によって、再利用可能か決まる

2008-06-28 14:33:05 | Weblog

 シリーズ修正可能なシステムのつづきです。
 前回、修正可能なシステムで、修正の必要があるかないかは、

  ・入出力が同じ
  ・副作用部分が同じ

 という話をかいて、副作用について、書かなかったので、今日はその話の続きです。




■副作用とは

 副作用とは、あるメソッドの入力(引数)と出力(返り値)以外に、値を変更(追加、削除含む)しているところです。
 多くは、ファイル、DB、メモリ(セッションや共有メモリなど)への書き出しになります。

 これらの部分への操作が、副作用になります。




■副作用が同じでないといけない
 当然、ファイルとか、セッションの設定内容が同じでないといけません。
 ただし、ほかのプログラムで、ここを書き変えられてしまった場合、
 (つまり、DBの構造が変わってしまった場合、自分はなにも変更してなくっても
  修正っていうこと)

 で、実は、この副作用の変更が、一番わかりずらく、変なところで、セッションの値を変えられたり、DBの項目の意味を変えられたりします。
 この辺の、副作用の管理が、いちばん修正において、重要になってきます
 (引数と返り値に関しては、注意がいくけど、副作用の変更までを、網羅しきれないことが多い)




 ってなところです。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする