Senin tanımın bana doğru gelmiyor. Bir deyim, diğer dillerde mümkün olan veya olmayan bir şeyi yazmanın bir yoludur, ancak bu dilde yaygındır. Genellikle, alternatiften daha kısadır, ancak bu gerçekten bir gereklilik değildir.
Deyimsel olmayan şey hakkında konuşarak bunu açıklamak daha kolay olabilir. C ++ 'da yazmak oldukça deyimseldir:
Foo* p = SomeThingThatReturnsAFooPointer(arg, param, x, y);
if(p)
{
// whatever
}
Yazmak daha da deyimsel:
Foo* p;
if(p = SomeThingThatReturnsAFooPointer(arg, param, x, y))
{
// whatever
}
Bu kod tam olarak aynı şeyi yapar - C ++ için yeni olan bazı kişiler, p'nin işlevin döndürdüğüne eşit olup olmadığını görmek için test olarak okuyabilir, ancak yaptığı şey bu değildir.
Başka bir dilden gelen, çok deyimsel olmayan birisinin yazabilecekleriyle karşılaştırın:
Foo* p = SomeThingThatReturnsAFooPointer(arg, param, x, y);
if(p !=NULL)
{
// whatever
}
Ayrıca bu şeylerin deyimsel olmayan bir şekilde çaldığını göreceksiniz:
if (x>0)
return true;
else
return false;
Çünkü deyimsel yaklaşım
return (x>0);
Deyimsel olmayan yollar yanlış değildir, ancak deyimleri bilenler için yazmaları genellikle daha uzun sürer ve her zaman okunmaları daha uzun sürer. Size "kurt ağlayan çocuk" diyorum ve hikayeyi biliyorsanız, yanlış alarmların insanların sizi görmezden gelmesine neden olduğunu açıklamaktan daha hızlıdır. Sorun, elbette, hikayeyi bilmiyorsanız ve kurtların bahsettiğimiz şeyle ne ilgisi olduğunu bilmiyorsanız. Benzer şekilde, daha önce hiç görmediyseniz return x<y;
ve gerçekten ne yaptığını bilmiyorsanız bir sorun olabilir .