DEV Community

Cover image for Demeter Law
DevByJESUS
DevByJESUS

Posted on

Demeter Law

Just Look at The Example Below The difference between the two if Condition

Do Not Do This

 private final List<Carriage> carriages [...]
 private int percentReservedBarrier = 70;
 public void reserveSeats(ReservationRequest request) {
   for (Carriage carriage : carriages) {
     if (carriage.getSeats().getPercentReserved() < 
                                  percentReservedBarrier) {
     request.reserveSeatsIn(carriage);
     return;
    }
  }
 request.cannotFindSeats();
}
Enter fullscreen mode Exit fullscreen mode

Do This Instead

public void reserveSeats(ReservationRequest request) {
 for (Carriage carriage : carriages) {
  if 
  (carriage.hasSeatsAvailableWithin(percentReservedBarrier)) 
  {
   request.reserveSeatsIn(carriage);
   return;
  }
 }
 request.cannotFindSeats();
}
Enter fullscreen mode Exit fullscreen mode

Top comments (0)

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more