Giriş
De Morgan yasası notlarım. Bu yasa ile kodu daha okunabilir hale getirmek mümkün.
Bazı Kodları Boolean Logic Değiştirilerek Daha Okunabilir Yapmak Mümkün Değil
Örnek
Elimizde şöyle bir kod olsunnn
And'in Or Olması
A ve B değilse yani C ise anlamına gelir.
Örnek
Elimizde şöyle bir kod olsun. A ve B değilse anlamına gelir. A benden küçük, B ise benden büyük anlamına gelsin. Aynı iki sayıyı bu kurala sokarsam A false B de false döner. Sonuç ise true olur
De Morgan yasası notlarım. Bu yasa ile kodu daha okunabilir hale getirmek mümkün.
Bazı Kodları Boolean Logic Değiştirilerek Daha Okunabilir Yapmak Mümkün Değil
Örnek
Elimizde şöyle bir kod olsunnn
if (StringUtils.isNotBlank(Constant.A)
|| StringUtils.isNotBlank(Constant.B)
|| StringUtils.isNotBlank(Constant.C)
|| StringUtils.isNotBlank(Constant.D)
|| StringUtils.isNotBlank(Constant.E)) {
return true;
}
Bu kodu en fazla şöyle yapabilirizif (Stream.of(Constant.A, Constant.B, Constant.C, Constant.D, Constant.E)
.anyMatch(StringUtils::isNotBlank)) {
return true;
}
veya şöyle yapabiliriz. Her iki durumda da boolean logic ile oynama yapmak mümkün olmuyor.if(!StringUtils.isAllBlank(Constant.A,Constant.B,.......)){
return true;
}
And'in Or Olması
A ve B değilse yani C ise anlamına gelir.
Örnek
Elimizde şöyle bir kod olsun. A ve B değilse anlamına gelir. A benden küçük, B ise benden büyük anlamına gelsin. Aynı iki sayıyı bu kurala sokarsam A false B de false döner. Sonuç ise true olur
!(a && b)
Bu kodu şu hale getirebiliriz. !A true döner. !B de true döner. Sonuç true olur.!a || !b
Hiç yorum yok:
Yorum Gönder