こんにちは。
実際のコードの状況を見ないとはっきりしたことは言えない、という前提の
もとで回答させて頂きます。
WEBからの入力で、見積り機能を呼ぶときに、
testForBatch();
をそのまま使うのは、私だったら
「ちょっと嫌だな。なんとかしたいな」
と思うだろうと思います。
たとえ、testForWeb()が、testForBatch()を、全くどこも修正しなくても
OKである場合であっても
lang
1function testForWeb()
2{
3 return testForBatch();
4}
のように、testForWeb()を作成すると思います。
ただし、このような名前へのこだわり度というのは、個人差があるので、
lang
1function testForWeb()
2{
3 return testForBatch();
4}
のようなものをわざわざ作るのは意味がないという考えをする方も
いらっしゃると思えまして、それはそれで間違いとはいえないかと
思います。
なので、以下、あくまで私見ということになりますが、
既存の関数
testForBatch()
を(ほぼ)そのままWEB入力からも流用するという状況が発生したということは、
そのような状況が発生したその時点においては
testForWeb()
は
testForBatch()
とまるっきり同じでよいとしても、将来的にはおそらく
testForBatch() = 見積り作成処理本体+バッチ用のI/O
testForWeb() = 見積り作成処理本体+WEB用のI/O
のように分解して、見積り作成処理本体はひとつの関数(なりクラスなり)にし、
バッチとWEBとで異なるI/O部分だけをそれぞれの関数に書いたほうが見通しが
よいような状況に進展するのではないか? さらに言えば、第3のI/Oに対応した
testForXxx()
の必要性も出てくるのではないか、と私だったら推測してしまうので、
その布石として
lang
1function testForWeb()
2{
3 return testForBatch();
4}
であったり、もしくは現状の
function testForBatch()
をリネームして
function testCommon()
としたうえで、
lang
1function testForBatch()
2{
3 return testCommon(); //元testForBatch
4}
5
6function testForWeb()
7{
8 return testCommon(); //元testForBatch
9}
の2つを作成して、先の将来予測に備えるかもしれません。
それと、ひと手間かけて
lang
1function testForWeb()
2{
3 return testCommon(); //元testForBatch
4}
を作っておいて、WEBからの入力はこちらを使うことにしたときの
(ささやかな or 場合によってはけっこう大きな)メリットとして、
このWEB入力のコードを誰かに改修をお願いするとして、その中に
出てくる見積り作成が、testForBatch() のままだと
「このtestForBatch() なのですが、ここでバッチを起動しているんですか?
バッチはcronやJenkinsで夜間に回してたりとかしないんですか?」
といった質問をされない、ということがあるかと思います。
この質問への回答として、
「バッチじゃないんだけど、(関数名は)バッチなんです。(キリッ」
といった(やや苦しい)説明を私なら避けたいと思いますので。
お役に立てる回答になっているか心もとないのですが、
私が思うところは以上です。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/05/15 00:03