意図を明らかにし、実装を隠す


コードを書くとき、意図(何が起こっているか)と実装(どのように働くか)を区別することは重要です.
❌ 以下の例では、意図を実装と混合します:
users
  .filter(user -> user.registrationDate.isBefore(dayjs().minus('years', 1)) && user.hasPurchases())
  .filter(user -> authenticationService.isAuthenticated(user));
このコードが何をしているかを理解するために、脳は実装から意図を識別しなければなりません.あなたは慎重な思考に5 - 10秒を費やす必要があります.それはあなたの限られた貴重なbrainfuelを消費する.そして、それは一つの方法だけです.
✅ さて、コードを改善しましょう.意図を表示しておきましょう.
users
  .filter(isLoyal)
  .filter(isAuthenticated);
コードが何をしているかはすぐにわかります.コードは実施の詳細によって汚染されません詳細は隠される.重要な情報だけを残して、雑音を取り除くことは、抽象化と呼ばれています.よく抽象化されたコードをスキャンしやすいです.不十分に抽象化されたコードは、慎重な考えと注意をたくさん必要とします.
🧠 注意:良いコードは意図を明らかにしますが、必要となるまで実装の詳細を隠します.本質を見る残りを隠しなさい.

🦄