Not exactly a redux, but very similar to last time:
bIsNotEmpty = false; if (vNests.GetSize() != 0) { if (vNests[0]->vEggs.GetSize() != 0) bIsNotEmpty = true; } |
First of all we don’t actually care about the size, we just care that we have (Or don’t have) a nest with eggs in it. Depending on the container GetSize may or may not be a variable look up. IsEmpty is always a variable lookup:
bIsNotEmpty = false; if (!vNests.IsEmpty()) { if (!vNests[0]->vEggs.IsEmpty()) bIsNotEmpty = true; } |
We can combine this into a single line:
bIsNotEmpty = (!vNests.IsEmpty() && !vNests[0]->vEggs.IsEmpty()); |
I would use more descriptive variable naming change my logic to use bIsEmpty/!bIsEmpty. Using bIsNot variables is often confusing and leads to harder to read code:
bIsNestWithEggs = (!vNests.IsEmpty() && !vNests[0]->vEggs.IsEmpty()); bIsEmpty = !bIsNestWithEggs; // Use bIsEmpty and !bIsEmpty from now on |