często widzę jeśli struktury są kodowane tak:Dlaczego Stała pierwszy w if warunek
if (true == a)
if (false == a)
Dlaczego oni umieścić pierwszy i nie zmienną stałą wartość? jak w tym przykładzie:
if (a == true)
if (b == true)
często widzę jeśli struktury są kodowane tak:Dlaczego Stała pierwszy w if warunek
if (true == a)
if (false == a)
Dlaczego oni umieścić pierwszy i nie zmienną stałą wartość? jak w tym przykładzie:
if (a == true)
if (b == true)
Nazywa się to składnią yody lub warunkami yody.
Służy do zapobiegania przypadkowym przypisaniom.
Pominięcie znak równości nie powiedzie
if(false = $a)
nie skompilować
if($a = true)
przypisuje wartość true
do zmiennej $a
i ocenia jako true
The Wordpress Coding Standards wspomnieć o tym w szczególności:
if (true == $the_force) {
$victorious = you_will($be);
}
Podczas wykonywania porównań logicznych zawsze umieszczaj zmienną po prawej stronie, stałe lub literały po lewej stronie.
W powyższym przykładzie, jeśli pominąć znak równości (przyznaję, zdarza nawet najbardziej zaprawiony z nas), dostaniesz błąd składniowy, ponieważ nie można przypisać do stałej jak prawdziwe. Jeśli instrukcja byłaby inna niż ($ the_force = true), przydział byłby całkowicie poprawny, zwracając 1, powodując, że instrukcja if oceni na prawdziwa, i mógłbyś przez chwilę ścigać tego błędu.
Trochę dziwaczny, to znaczy czytać. Przyzwyczajaj się do tego, będziesz.
Dziękuję za szybki odpowiedź! teraz w końcu wiem, dlaczego tak się dzieje :) –
Choć dobrze jest zapobiegać literówki, będzie brak czytelności. –
"Tak, cóż, to tylko, jak, twoje zdanie, człowieku." - Jego Dudeness aka El Duderino – user20232359723568423357842364
Jest przykładem YODA Style
kodowania
if (var a == true){
}
jest mniej bezpieczniejsze niż
if (true == var a){
}
ponieważ gdy użytkownik zapomni, że drugi =
znak, otrzymasz nieprawidłowy błąd przypisania, i można go złapać w czasie kompilacji.
Masz na myśli, że drugi jest bezpieczniejszy. –
@Sankalp Mishra Przeczytaj ponownie odpowiedź. Jestem pewny, że dowiesz się, gdzie edytować. –
[Yoda Warunki] (http://en.wikipedia.org/wiki/Yoda_Conditions) –
Dlaczego TAG, do 'C' mam mylić :( –
@GrijeshChauhan samego prawa działa na C also.Putting stała na lewo od operator porównania jest dobry i unika przypadkowych przypisań –