-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.POSTED!cat.tac
!not-for-mail
From: Wojciech Muła <w...@p...null.onet.pl.invalid>
Newsgroups: pl.comp.programming
Subject: Re: kwestia estetyczna
Date: Sun, 7 Aug 2011 00:49:00 +0200
Organization: http://0x80.pl
Lines: 68
Message-ID: <2...@c...tac>
References: <j1f3om$2bsb$1@news.mm.pl>
NNTP-Posting-Host: public94241.xdsl.centertel.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-Trace: news.onet.pl 1312672251 14611 188.47.240.33 (6 Aug 2011 23:10:51 GMT)
X-Complaints-To: n...@o...pl
NNTP-Posting-Date: Sat, 6 Aug 2011 23:10:51 +0000 (UTC)
X-Newsreader: Claws Mail 3.7.9 (GTK+ 2.24.5; i486-pc-linux-gnu)
Xref: news-archive.icm.edu.pl pl.comp.programming:191722
[ ukryj 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.
Następne wpisy z tego wątku
- 06.08.11 23:21 m...@t...pl
- 07.08.11 00:05 A.L.
- 07.08.11 06:15 m...@t...pl
- 07.08.11 08:29 g...@p...onet.pl
- 07.08.11 10:02 m...@t...pl
- 07.08.11 10:03 Wojciech Jaczewski
- 07.08.11 15:06 p...@p...onet.pl
- 07.08.11 15:53 A.L.
- 07.08.11 16:51 A.L.
- 07.08.11 18:27 Paweł Kierski
- 07.08.11 18:35 Paweł Kierski
- 07.08.11 18:45 A.L.
- 07.08.11 19:07 Wojciech Muła
- 07.08.11 20:29 A.L.
- 07.08.11 21:22 m...@t...pl
Najnowsze wątki z tej grupy
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
Najnowsze wątki
- 2025-07-16 dron na granicy polsko niemieckiej
- 2025-07-16 Warszawa => Senior IT Recruitment Consultant <=
- 2025-07-16 Gdańsk => Mainframe (z/OS, Assembler) Developer <=
- 2025-07-16 Gdańsk => Delphi Programmer <=
- 2025-07-16 Warszawa => BI Developer <=
- 2025-07-16 Gdańsk => Programista Delphi <=
- 2025-07-16 chroń PESEL dziecka
- 2025-07-16 Rzeszów => Spedytor Międzynarodowy <=
- 2025-07-16 Gdańsk => Konsultant wdrożeniowy (systemy controlingowe) <=
- 2025-07-16 Kraków => Kotlin Developer <=
- 2025-07-16 Warszawa => Inżynier oprogramowania .Net <=
- 2025-07-16 Tadeusz Rolke RIP
- 2025-07-14 Dwa dylematy
- 2025-07-14 Re: Dwa dylematy
- 2025-07-14 [UOKiK] Jeronimo Martins, właścicielowi sieci Biedronka, [przedstawił zarzut] udział[u] w zmowie z 32 firmami transportowymi.