if deyimi ile ilgili tüyolar

10:37

  • if deyimi yazılırken if’in içinde birden fazla kontrol yapılacaksa if(exp1 && exp2 && exp3 … gibi durumlarda) başa en az maliyetli olan konur ki çalışma anında kontrol maliyeti düşsün ya da olumsuz olma ihtimali yüksek olan varsa başa gene bu ifade konulur ki maliyet açısından avantajlı çalışabilsin.
  • Bütün deyimler basit deyim ise virgül operatörü kullanılarak fazlalıklar elenebilir.

image
  • if(Foo()) ifadesinde Foo fonksiyonu geriye bir şey döndürmüyorsa logic true olacaktır hata vermeyecektir ve if ifadesinin içi her zaman çalışacaktır.
  • C’de redundancy kavramı fazladan ,fuzuli kod yazma anlamına gelmektedir. C’de bir kodu yazmadan da oluyorsa o kodu yazmamak genellikle doğru olacaktır. Mesela
image

olarak ta yazabiliriz. Burada görüldüğü gibi else ifadesine gerek yoktur.

image

ifadesi aslında y=x anlamına gelmekedir.

image

  ifadesi aslında z=y==x ifadesiyle aynı çalışacaktır.

image

Yukarıdaki else hangi if’e aittir. Bu else ingilizcede dangling else denir. Ve C ‘de bu else içteki if’e aittir.

  • if else veya switch-case’lerde sıralama yapılırken olma olasılığı yüksek olan ifadeler yukarı yazılır ki fazla kontrolden sakınılmış olsun.