して見てみると、isValidProductIdとisValidInputCoinsの中を考えなおしたくなった。CollectionUtils使いたかったので、commons-collections4を追加。例外のメッセージを変えた。部分もPreconditions使うことにする。キモいかと思ったけど、見た感じ悪くないな。細かいところだけどcheckArgumentで不等号使ってるんだけど、これ「0より大」より「1以上」の方が読みやすいかなと思うのでそうする。}ってところでaメソッドまでは満足した。戻り値としては使えるコインの合計値が返される。その合計値をチェックしてOKだったら処理して返す。bメソッドのパラメータ名と変数名の名前付けからやってみよう。}ちょっと読みやすくなった。processCoinsこのメソッドが気持ち悪いのは、2つの処理を同時にやってるところかな。処理的にはここでは、sumOfValidCoinsが分かれば良さそう。お釣りの部分はprocessCoins2の方に任せることができるな。processCoinsから。