Cytat(Zyx @ 30.07.2008, 19:29:04 )

Żeby było śmieszniej, po zwróceniu uwagi byłem jeszcze pouczany, że "przecież zmienne tymczasowe ułatwiają debugowanie, bo można zrobić w razie potrzeby rzecz następującą albo np. coś dalej przetwarzać tekst zapytania":
A bawiłeś się Xdebug? Jakbyś się bawił to byś wiedział skąd się to bierze. Do tego wiesz co przekazywane jest do funkcji, po nazwie zmiennej, widzisz wszystkie parametry, a nie never ending line.
A swoją drogą testowałeś jak wpływa na wydajność takie "nad używanie"?
Oczywiście mówię o przypadku SQL, bo za każdym razem przy np. filtrowaniu stringu nowa zmienna to śmietnik.
Cytat(Zyx @ 30.07.2008, 22:09:47 )

Ale dodaję je tylko, gdy w danym miejscu faktycznie jest problem i po jego likwidacji usuwam. Gdybym dopuścił np. taki wygląd zapytań, to równie dobrze mógłbym zapytać, co w takim razie jest źle z drugim podanym kodem? Przecież tu też można by się tłumaczyć kwestiami debugowania, że będę chciał wyświetlić dane po przepuszczeniu przez którąś z kolei funkcję. I tak po kolei dojdziemy do kodu-potworka w stylu:
Kod
$wyrazenie = ($a == 5);
if($wyrazenie)
{
$arg1 = 1;
$arg2 = 5 + $a;
$wynik = funkcja($arg1, $arg2);
echo $wynik;
}
I też go względami debugowania będę mógł obronić dokładnie tak samo, jak zapis:
Kod
$query = 'SELECT ...';
mysql_query($query);
Tylko że w pierwszym przypadku, debugując (mówię ciągle o Xdebug) widzisz czy wchodzi w warunek, a w drugim nie wiesz co jest przekazywane. Do tego mój argument o długości linii.
Cytat(Zyx @ 30.07.2008, 22:09:47 )

Prawda jest taka, że w dobrze przemyślanym problemie prawdopodobieństwo zajścia takiego zdarzenia jest BARDZO MAŁE, a jeśli już zajdzie, zawsze jest Ctrl+C/Ctrl+V. Od tej 0,5 sekundy więcej na wpisanie świat się nie zawali. Gdy zaś muszę sięgać zbyt często po ten środek, znaczy to, że rozwiązanie wymyślałem na kolanie, jest ono kiepskie i lepiej będzie, jak siądę nad kartką i wymyślę nowe.
Prawda jest taka, że jak debugujesz większy skrypt, to takich miejsc poprawek możesz mieć sporo i tylko coś bierze jak musisz dopisać, aby sprawdzić czy wszystko jest ok.
Cytat
Jeżeli coś potrzebuje stałego debugowania włączanego na rozkaz, piszę taki kod, by robił to za mnie.
I obciążasz dodatkowo, kod który jest dobrze napisany sam powie że coś jest nie tak i powie co (co prawda dokładniejsze informacje zostawić tylko dla siebie, a wyświetlać te pobieżne)
Jest mowa o kwerendach, ale sprawa się tyczy wszystkich parametrów funkcji podstawowych, gdzie nie mamy możliwości sprawdzenia co dokładnie przekazujemy.