10/01/10 10:19:08
>>290
自分の場合だけど。
特に仕様変更が多い場所はスクリプトで。
いったんコーディングした部分もスクリプトで書けるように直したり、
外部データから読めるようにしてスクリプターがいじれる様にする。
データ化できない部分については、やはりC++&オブジェクト指向が仕様変更に強い。
綺麗に作られていれば大幅に変わってもそんなに苦労しない。
汚くなってしまった部分は仕様変更のときにリファクタリングしたり作り直したりする。
面倒をいとわず躊躇せずリファクタリングすると後々楽になる。
横断的関心事については、構造化やオブジェクト指向の範囲内でできる限り一箇所に
まとめるようリファクタリングの努力をするけど、構造の美しさに反する場合もあるのでそれほど厳密にはやらない。
コメントで「ここを修正したらあそこも修正する必要あり」とコメントを書いておくとか、
マクロを活用してgrepしやすいようにしておくだけで十分な場合も多い。
AspectC++を使っているところは恐らくない。
うちはboostのfunctionを使って横断的関心事の解決に利用することもあるけど、
ほとんどの会社ではboostも使ってないと思われ。