>>370
> あとテスト目的でpublicにする是非もよろしく。

テストしたほうがいいのに、テストしないってのは良くない。
他の関数経由でテストできるというが、
それだと、単体でテストするよりもテストが複雑になる。

テストは一番シンプルな形でテストしたほうが
複雑性を取り除くという意味で良い。

で、テストのためにpublicにするのがいやなら、
発想を変えてpublicにするのが妥当な設計に変えればいい。

つまり、あるクラスにprivateなmin関数があるのであれば、
別のクラスを作って、そこにpublicなmin関数を作り
あるクラスからは、そのmin関数を呼べばいい。
そうすれば、自然な設計でpublicにできる。

minのようなものは例外で、そうそうあるもんじゃないと思うかもしれないが、
あるクラス・・・で使用するユーティリティを集めたクラスという設計にすれば、
自然な形で比較的簡単にpublicに変更できる。