Aşağıdaki kod var:Bu iki if ifadesini birleştirebilir miyim?
if (a || b)
{
X();
}
if (a)
{
Y();
}
ben bir şekilde bu iki if ifadesi birleştirebilir miyim?
Aşağıdaki kod var:Bu iki if ifadesini birleştirebilir miyim?
if (a || b)
{
X();
}
if (a)
{
Y();
}
ben bir şekilde bu iki if ifadesi birleştirebilir miyim?
a ve b yanlış çünkü ilk döngü çıkışlar, daha sonra gerçekten, belki üzerine değerini geçebileceği değil ikinci döngü-
if(a||b)
{
X();
if(a)
{
Y();
}
}
kontrol etmek gerek yoktur çünkü eğer bu, daha iyi olurdu X yöntemi ve eğer A ise, sadece Y ifadesini vererek size bir çağrı verecektir.
if(a || Y() || b) X();
Ama bu kod başka bir kişi tarafından okunacak o hesaptaki almak gerekir: Bu dürüstçe yazabilir senin Y() yöntemi her zaman doğru dönerse o
işlemek için çok daha net bir şekilde Bu yüzden kolay okunabilir olmalı ve diğer kişi için anlamını açıklamalıdır.
if(a || b)
{
X();
if(a) Y();
}
veya
if(a)
{
X();
Y();
}
else if(b)
{
Y();
}
'Y()', boolean'a dönüştürülebilen bir şey döndürürse, o zaman uzaklaştırmadığı sürece '(Y() || true) işlevini kullanabilirsiniz. Bunun gibi bazı okunabilirliklerini kaybedersiniz, bu gerçekten iyi bir fikir değildir. – Matt
değer yoktur akılda ayı yapın: Yani en iyi çözüm bir anlamı bağlıdır, b, X ve Y. Ve Aşağıdakilerden tüm farklı semantik anlamları olan doğru olacaktır koddan okunabilir halde okunabilir. –
Sadece bunu okunabilir hale getirdiğimi düşündüm. – Drutten
Neler var hızlıca ayrıştırılabilir ve kolayca ayrıştırılabilir. Teknik düzeyde, insanların hangi kodla geldiğini görmek isterdim, ancak büyük olasılıkla bununla uğraşabilirim veya çekimi adlandırılmış bir yönteme veya başka bir şeye taşıyabilirim. –