Gdzie powinno zrobić się sprawdzenie wartości zmiennej przekazanej jako argument funkcji - w metodzie publicznej czy prywatnej - a może w obu? Mam np. kod:
public void MyPublicFunction(int x)
{
// jakis kod NIE operujacy na zmiennej x
int y = MyPrivateFunction(x); // w metodzie prywatnej jest dopiero uzycie wartosci x
// jakis kod operujacy na zmiennej y
}
private int MyPrivateFunction(int x)
{
return 5 / x;
}
Chciałbym rzucić wyjątek gdy wartość zmiennej x jest <= 0 czyli:
if (x <= 0)
{
throw new Exception("bla bla bla");
}
Czy powinienem tego ifa wstawić na początku metody publicznej - wówczas program nie będzie musiał wykonywać zbędnych operacji do momentu dojścia do metody prywatnej gdybym dopiero tam zrobił to sprawdzenie czy może tylko w metodzie prywatnej zrobić to sprawdzenie, a może w obu? Jak zwykle robicie / jak jest poprawnie?