rafalp
28.12.2010, 17:55:26
1:
if(warunek)
{
$a = 100;
}
else
{
$a = 200;
}
2:
$a = 100;
if(! warunek)
{
$a = 200;
}
Czy zdarza wam się stosować typ (2)? jeśli tak to z wygody czy z przyczyn wydajnościowych?
Crozin
28.12.2010, 17:57:49
Zapamiętaj sobie na całe życie:
Cytat("Donald Knuth")
[...] premature optimization is the root of all evil
Obra rozwiązania się bardzo szybkie. Nie ma znaczenia którego użyjesz.
Mephistofeles
28.12.2010, 18:03:43
Imho lepiej (co nie znaczy szybciej) jest zrobić tak:
$a = warunek ? 100 : 200
Niepotrzebna objętość kodu też zaburza czytelność, a w tym wypadku cały if/else wraz z klamrami jest niepotrzebny.
rafalp
29.12.2010, 01:02:45
Cytat(Mephistofeles @ 28.12.2010, 19:03:43 )

Imho lepiej (co nie znaczy szybciej) jest zrobić tak:
$a = warunek ? 100 : 200
Niepotrzebna objętość kodu też zaburza czytelność, a w tym wypadku cały if/else wraz z klamrami jest niepotrzebny.
Jasne że to stosuje, tylko że w pytaniu jedna linijka kodu to tylko przykład, chodzi mi o więcej takiego takich przypisań i akcji naraz. Gdyby to była rzeczywiście tylko jedna linijka to bym się tym aż tak nie przejmował.
@Crozin: Ładny cytat, zapamiętam sobie
wookieb
29.12.2010, 01:10:33
Cytat(Crozin @ 28.12.2010, 17:57:49 )

premature optimization is the root of all evil
Zastanowiłeś się kiedyś nad tym?
To jest coś w stylu "spojrzę do hamulców jak przestaną działać". Sorry ale jak przestaną działać podczas jazdy to nie będziesz miał co sprawdzać.
Przygotowanie aplikacji i innych rzeczy do optymalnego działania nie jest złe lecz "odpowiedzialne".
Ale Crozin nie napisał "debugging", tylko "optimization" i jeszcze dodał "premature". Normalna optymalizacja - OK, ale to to już jest polerowanie czubka antenki w samochodzie, by ten jechał szybciej. Tak się składa, że przy obecnym stopniu skomplikowania kodu mało jest ludzi, którzy potrafią ogarnąć optymalizację takiego kodu na tyle dobrze, by wyciskać z niego te milionowe części sekundy, a w 99% aplikacji te milionowe części sekundy w niczym nie przeszkadzają.
Na początek niech autor skupi się na używaniu optymalnych algorytmów, bo to jest najważniejsza rzecz w optymalizacji. Jak algorytm jest do kitu, to nawet przepisanie go w assemblerze nic Ci nie pomoże. Nawet jest takie fajne prawo w teorii złożoności obliczeniowej, które mówi, że optymalizacja budowy kodu ma zauważalny wpływ na program jedynie w przypadku szybkich algorytmów, a w tych o dużej złożoności praktycznie nic nie da.
wookieb
29.12.2010, 09:53:00
To zależy, kto jak rozumie słowo "przedwczesna" bo moim zdaniem "przedwczesna" to podejmowana PRZED wystąpieniem problemu optymalizacyjnego.