λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
Book TIL

ν΄λ¦°μ½”λ“œ Day 11. ν˜•μ‹ λ§žμΆ”κΈ°

by vividmin 2022. 5. 3.
320x100

βœ… 이 ν¬μŠ€νŒ…μ€ λ…Έλ§ˆλ“œ 코더 뢁클럽  '클린 μ½”λ“œ' μ±Œλ¦°μ§€λ₯Ό μ§„ν–‰ν•˜λ©΄μ„œ μž‘μ„±ν•˜λŠ” TIL이며,  μΆœμ²˜λŠ” Clean Codeμž…λ‹ˆλ‹€.

 

πŸ“š λ²”μœ„ :  ~05. ν˜•μ‹ λ§žμΆ”κΈ°

 

 

πŸ““ μ±…μ—μ„œ κΈ°μ–΅ν•˜κ³  싢은 λ‚΄μš©μ„ μ¨λ³΄μ„Έμš”.
  • μ½”λ“œ ν˜•μ‹ === μ˜μ‚¬μ†Œν†΅
  • 쒋은 ν˜•μ‹μœΌλ‘œ μž‘μ„±ν•˜λŠ” 방법
    • μƒˆ κ°œλ…μ„ μ‹œμž‘ν•  λ•ŒλŠ” 빈 ν–‰ λ„£κΈ°
    • λ°€μ ‘ν•œ λ‚΄μš©μ€ κ°€κΉŒμ΄ (μ„Έλ‘œ 거리가 κ°€κΉκ²Œ μž‘μ„±)
      • instance λ³€μˆ˜ ⇒ class 맨 μ²˜μŒμ— μ„ μ–Έ
      • a ν•¨μˆ˜κ°€ b ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•œλ‹€λ©΄ λ‘˜μ„ κ°€κΉκ²Œ, λ˜λ„λ‘ aλ₯Ό b보닀 λ¨Όμ € μž‘μ„±
      • κ°œλ… μΉœν™”λ„ ⬆ ⇒ κ°€κΉŒμ΄! (쒅속 ν•¨μˆ˜, λ³€μˆ˜ - λ³€μˆ˜ μ‚¬μš© ν•¨μˆ˜, λΉ„μŠ·ν•œ λ™μž‘ μˆ˜ν–‰)
    • λ“€μ—¬ μ“°κΈ° μž˜ν•˜κΈ° 
    • Team이 μžˆλ‹€λ©΄ Team κ·œμΉ™ μ •ν•˜κ³  그에 λ”°λ₯΄κΈ°, κ°œμΈν–‰λ™ν•˜μ§€ μ•ŠκΈ°
    • λ‹€λ₯Έ μ‚¬λžŒμ΄ 읽기 μ‰½κ²Œ, κ·œκ²©ν™”ν•΄μ„œ μž‘μ„± (재 μ‚¬μš©μ„±β¬†)

 

 

✍🏻 였늘 읽은 μ†Œκ°μ€? λ– μ˜€λ₯΄λŠ” 생각을 κ°€λ³κ²Œ μ μ–΄λ³΄μ„Έμš”.

μ½”λ“œλŠ” 기계와 μ‚¬λžŒ κ°„μ˜ μ†Œν†΅μ΄λΌκ³  μƒκ°ν–ˆμ—ˆλŠ”λ°, 책을 μ½μ„μˆ˜λ‘ μ‚¬λžŒκ³Ό μ‚¬λžŒκ³Όμ˜ μ†Œν†΅μ—μ„œ 더 μ€‘μš”ν•œ 역할을 ν•œλ‹€λŠ” 것을 μ•Œκ²Œ λ˜μ—ˆλ‹€. λ˜ν•œ 쒋은 μ†Œν”„νŠΈμ›¨μ–΄λ₯Ό λ§Œλ“€κΈ° μœ„ν•΄μ„œλŠ” 읽기 μ‰¬μš΄ μ½”λ“œλ‘œ μž‘μ„±ν•΄μ•Ό ν•˜κ³ , μœ μ§€ λ³΄μˆ˜κ°€ μš©μ΄ν•  수 μžˆλ„λ‘ ν˜•μ‹μ„ μ§€μΌœμ„œ μ½”λ“œλ₯Ό μž‘μ„±ν•΄μ•Ό ν•œλ‹€λŠ” 점을 λ°°μ› λ‹€. 그리고 항상 IDE에 formatting을 즐겨 μΌλŠ”λ°, μ‹œμŠ€ν…œμ—λ§Œ μ˜μ‘΄ν•˜λŠ” 것이 μ•„λ‹ˆλΌ λ“€μ—¬ μ“°κΈ°, λΉ„μŠ·ν•œ κ°œλ…μ˜ μ„Έλ‘œ μœ„μΉ˜λ₯Ό κ°€κΉŒμ΄ μž‘μ„±ν•˜κΈ° 등을 μœ μ˜ν•˜λ©΄μ„œ μ½”λ“œλ₯Ό μž‘μ„±ν•΄μ•Όκ² λ‹€.

그리고 μ§€λ‚œλ²ˆμ— λ§Œλ“  토이 ν”„λ‘œμ νŠΈμ˜ μ½”λ“œλ“€μ„ λ‹€μ‹œ μ‚΄νŽ΄λ³΄λ©΄μ„œ 였늘 배운 λ‚΄μš©μ„ λ°”νƒ•μœΌλ‘œ 일관성 있게 λ‹€μ‹œ 고쳐봐야겠닀.

 

πŸ‘€ κΆκΈˆν•œ λ‚΄μš©μ΄ μžˆκ±°λ‚˜, 잘 μ΄ν•΄λ˜μ§€ μ•ŠλŠ” λ‚΄μš©μ΄ μžˆλ‹€λ©΄ μ μ–΄λ³΄μ„Έμš”.

νŒ€μ—μ„œ μ‚¬μš©ν•˜λŠ” 방식은 μ–΄λ–€ 것듀이 μžˆλŠ”μ§€ κΆκΈˆν•˜λ‹€. ESlintλ₯Ό μ‚¬μš©ν•˜μ§€ μ•Šκ³  ν•˜λŠ” 것인지 μ‚¬μš©ν•œ ν›„ λ‹€μ‹œ μˆ˜μ •ν•΄ μ£ΌλŠ” 것인지 κΆκΈˆν•˜λ‹€. 그리고 JSμ—μ„œλŠ” κ°œλ…μ„ λ¨Όμ € μž‘μ„±ν•œ ν›„ 더 μ•„λž˜μ—μ„œ ν˜ΈμΆœμ„ ν•΄μ•Ό ν•œλ‹€κ³  μƒκ°ν–ˆλŠ”λ°, μ˜ˆμ‹œ μ½”λ“œλ₯Ό λ³΄λ‹ˆ κ°œλ…μ΄ μ•„λž˜μ— 있고, ν˜ΈμΆœν•˜λŠ” μ½”λ“œκ°€ 더 상단에 μœ„μΉ˜ν•˜λŠ” κ±° κ°™μ•„μ„œ 쑰금 더 곡뢀λ₯Ό 해봐야겠닀!

쒋은 예:

    class PerformanceReview {
      constructor(employee) {
        this.employee = employee;
      }

      perfReview() {
        this.getPeerReviews();
        this.getManagerReview();
        this.getSelfReview();
      }

      getPeerReviews() {
        const peers = this.lookupPeers();
        // ...
      }

      lookupPeers() {
        return db.lookup(this.employee, 'peers');
      }

      getManagerReview() {
        const manager = this.lookupManager();
      }

      lookupManager() {
        return db.lookup(this.employee, 'manager');
      }

      getSelfReview() {
        // ...
      }
    }

    const review = new PerformanceReview(employee);
    review.perfReview();

좜처 : 클린 μ½”λ“œ - μžλ°”μŠ€ν¬λ¦½νŠΈ ko 버전 κΉƒν—ˆλΈŒ

λ°˜μ‘ν˜•

λŒ“κΈ€