Re: Template::Plugin::Tax
Template::Plugin::Tax - Unknown::Programming について,ネタにマジレスかもしれませんが
- int 関数ではなく POSIX::floor, POSIX::ceil を使うべき
- 税抜→税込価格(to_inc_tax)は(少なくとも日本では)四捨五入ではなくて切捨(逆に本体価格にするには切上)
- ってそもそも算出ロジックやデフォルト税率のことを考えると,Template::Plugin::Tax じゃなくて Template::Plugin::JapaneseConsumptionTax のほうがネーミングが妥当(長すぎだけど)
- と思ったけど,Template::Plugin::Tax::Japan とかにして [% USE tax('japan') %] とかするのもいいかも
- もっというと,税金計算部分は Business::Tax::* とかに外在化してそれを指定するようにすればより汎用的なのかも。ロジック部分でもそいつを使えばいいし。
- そうすればビュー側に実装する意味がでてくるかな
- とかいって重くしてくのが本意ではないんですよね,おそらく
- フィルタ名がいまいち伝わりにくい
- でも何がいいかな。include_tax / exclude_tax とか,with_tax / wo_tax とか。
- 消費税 50% の時代が到来した場合にテンプレートの全ての to_inc_tax / to_enc_tax の引数を変えなきゃいけないのは大変
- せめて new() 側でデフォルト税率を指定できるようにするべき
- (もちろん $Template::Plugin::DEFAULT_TAX を書き換えれば対処はできますが)
- そもそも,消費税計算のようにもろロジック側のものをなぜビューである TT のプラグインとして作るのかわからない
- グローバルなモジュールにするより,アプリ側のモジュールとして実装して TT インスタンス作成時にフィルタ等登録するほうが妥当だと思う