eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingkwestia estetycznaRe: kwestia estetyczna
  • Data: 2011-08-06 22:49:00
    Temat: Re: kwestia estetyczna
    Od: Wojciech Muła <w...@p...null.onet.pl.invalid> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    On Thu, 4 Aug 2011 23:40:37 +0200 <g...@h...com> wrote:

    > Witam,
    >
    > Czy taka konstrukcja narusza jakieś zasady/sty dobrego projektowania
    > lub jeszcze innego wzorca projektowego? Chodzi mi o drabinkę if..else
    >
    > if (preserveR)
    > {
    > if (oldW >= oldH && !fit)
    > {
    > if (!onlyG || width < oldW)
    > {
    > newW = width;
    > newH = (oldH * newW) / oldW;
    > }
    > }
    > else if (!fit)
    > {
    > if (!onlyG || height < oldH)
    > {
    > newH = height;
    > newW = (oldW * newH) / oldH;
    > }
    > }
    > else
    > {
    > //...
    > }
    > }
    > else
    > {
    > newW = width;
    > newH = height;
    > }

    Hm, ja bym to raczej napisał tak:

    if (preservedR) {
    const bool sH = oldW >= oldH and not fit and (not onlyG or width < oldW);
    const bool sW = not fit and (not onlyG or height < oldH);
    if (sH) {
    newW = width;
    newH = (oldH * newW) / oldW;
    }
    else if (sW) {
    newH = height;
    newW = (oldW * newH) / oldH;
    }
    else
    ...
    }
    else
    ...


    Kiedyś, przy bardziej "dzikiej" logice sterowania, gdzie warunków było
    niewiele, jednak różnych kombinacji sporo, to najpierw kodowałem
    każdy warunek na osobnym bicie, a później instrukcją switch
    obsługiwałem kombinacje. W stosunku do wersji z if/else było 10x lepiej.

    w.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: