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

ν΄λ¦°μ½”λ“œ Day 5-6. ν•¨μˆ˜ μ‚¬μš© μ‹œ μ£Όμ˜ν•  점듀

by vividmin 2022. 4. 28.
320x100

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

 

 

πŸ“š λ²”μœ„ :  ~3μž₯ ν•¨μˆ˜ 

 

 

πŸ““ μ±…μ—μ„œ κΈ°μ–΅ν•˜κ³  싢은 λ‚΄μš©μ„ μ¨λ³΄μ„Έμš”.
  • μ–΄λ–»κ²Œ ν•˜λ©΄ 더 μž‘μ€ λ‹¨μœ„λ‘œ λ§Œλ“€ 수 μžˆμ„μ§€ κ³ λ―Όν•˜λ©΄μ„œ μ½”λ“œλ₯Ό μ§œμ•Όν•œλ‹€.
    쀑첩 ꡬ쑰 ❌, ν•œ κ°€μ§€λ§Œ μž˜ν•  수 μžˆλ„λ‘ λ§Œλ“€μž.
  • ν•¨μˆ˜ (function)
    • ν”„λ‘œκ·Έλž¨ 쀑 κ°€μž₯ 기본적인 λ‹¨μœ„
    • 객체 μƒνƒœ λ³€κ²½ or 객체의 정보 λ°˜ν™˜ λ‘˜ 쀑 ν•˜λ‚˜λ§Œ ν•˜λ„λ‘ μž‘μ„±
    • ν•¨μˆ˜ = 동사, 클래슀 = λͺ…사
  • ν•¨μˆ˜μ˜ 이름은 ν•¨μˆ˜κ°€ ν•˜λŠ” 일을 잘 λ‚˜νƒ€λ‚΄λ„λ‘ μž‘μ„±ν•˜λŠ” 것이 μ’‹λ‹€.
    λ³€μˆ˜μ™€ λ§ˆμ°¬κ°€μ§€λ‘œ κ°„λ‹¨ν•˜λ‹€κ³  쒋은 것이 μ•„λ‹ˆλΌ, 쑰금 길더라도 의미λ₯Ό λͺ…ν™•ν•˜κ²Œ λ‚΄ν¬ν•˜λŠ” 것이 μ’‹λ‹€.
  • event function  μ˜ˆμ‹œ (μ°Έκ³  링크)
    • on~ : prop에 μ‹€μ œ μ΄λ²€νŠΈκ°€ μ—°κ²°
    • handle~ : 이벀트 λ°œμƒ μ‹œ μ‹€μ œ 호좜
    • click~ : 클릭 μ‹œ μΌμ–΄λ‚˜λŠ” 일을 의미
  • error code < exception
  • 글짓기 ν•˜λ“―μ΄ 처음 μž‘μ„±ν•˜κ³  μ‘°κΈˆμ”© κ°œμ„ ν•΄ λ‚˜κ°„λ‹€. 
    (μ²˜μŒλΆ€ν„° λ‚œμž₯판으둜 μž‘μ„±ν•΄λ„ λœλ‹€λŠ” 것은 μ•„λ‹˜πŸ˜…)

 

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

이번 μ±•ν„°λŠ” κΈ°ν•œμ΄ 2일인 만큼 μ•žμ˜ 챕터에 λΉ„ν•΄μ„œλŠ” μ΄ν•΄ν•˜κΈ°κ°€ 정말 μ–΄λ €μ› λ‹€. κ±°κΈ°λ‹€κ°€ 예제 μ½”λ“œκ°€ λ‹€ Java μ½”λ“œλ‘œ λ˜μ–΄μžˆμ–΄μ„œ μ΄ν•΄ν•˜κΈ° μœ„ν•΄μ„œ 더 μ—¬λŸ¬ 번 읽어야 ν–ˆλ‹€.
ν•¨μˆ˜λ₯Ό 잘 μ„€κ³„ν•˜λ €λ©΄ μ–΄λ–»κ²Œ ν•΄μ•Ό ν•˜λŠ” 지λ₯Ό μ•Œλ €μ£ΌλŠ” μ±•ν„°μ˜€λ‹€.

이 것을 μ½μœΌλ©΄μ„œ 바닐라 JSμ±Œλ¦°μ§€λ₯Ό ν•˜λ©΄μ„œ μ½”λ“œλ₯Ό 지 λ•Œκ°€ 생각났닀. κ·Έλ•Œ 일단 jsνŒŒμΌμ— μ—¬λŸ¬ κΈ°λŠ₯듀을 적고 κΈ°λŠ₯λ³„λ‘œ μͺΌκ°œκ³  μ‹¬μ§€μ–΄λŠ” 파일둜 λΆ„λ¦¬ν•˜λŠ” μž‘μ—…μ„ ν–ˆμ—ˆλ‹€.
κ·Έλ•ŒλŠ” ν•œ νŒŒμΌλ³΄λ‹€λŠ” 가독성은 μ’‹μ§€λ§Œ μ—¬λŸ¬ νŒŒμΌμ„ λ„ˆλ¬΄ 많이 λ§Œλ“€λ©΄ 더 보기에 νž˜λ“€μ§€ μ•Šμ„κΉŒ?λΌλŠ” 생각을 ν–ˆμ—ˆλŠ”λ°, 책을 읽은 ν›„ λ‹€μ‹œ λ³΄λ‹ˆ κ·Έ 편이 훨씬 쒋은 μ½”λ“œλ₯Ό λ§Œλ“œλŠ” λ°©λ²•μ΄λΌλŠ” 것이 μƒˆμ‚Ό λŠκ»΄μ‘Œλ‹€.
μ½”λ“œκ°€ λΆ„λ¦¬λ˜μ–΄ μžˆμ„μˆ˜λ‘ 보기에 더 쒋아지고, ν•œ 가지 κΈ°λŠ₯만 ν•˜λ‹ˆκΉŒ λ‹€λ₯Έ 곳에 μ‚¬μš©ν•  λ•Œ 재 μ‚¬μš©μ„±λ„ 높아지기 λ•Œλ¬Έμ΄λ‹€. λ¬Όλ‘  λ‹€μ‹œ λ³Έλ‹€λ©΄ μ’€ 더 잘게 μͺΌκ°œμ•Ό ν•  μˆ˜λ„ μžˆκ² λ‹€.

κΈ€μ§“κΈ°μ²˜λŸΌ μ²˜μŒλΆ€ν„° μ™„λ²½ν•œ μ½”λ“œλ₯Ό μ§œλŠ” μ‚¬λžŒμ€ μžˆμ„ μˆ˜λ„ μžˆμ§€λ§Œ 거의 μ—†λ‹€λŠ” 문ꡬ가 μœ„λ‘œκ°€ λ˜μ—ˆλ‹€. 계속 κ³΅λΆ€ν•˜λ©΄μ„œ μ½”λ“œλ₯Ό λ¦¬νŒ©ν„°λ§ ν•˜λ‹€ 보면 λ‚˜μ€‘μ—λŠ” λˆ„κ΅¬μ—κ²Œλ‚˜ 읽기 μ‰¬μš΄ μ½”λ“œλ₯Ό 지 수 μžˆλŠ” μ‚¬λžŒμ΄ 될 수 μžˆκ² μ§€...
그날이 올 λ•ŒκΉŒμ§€ λΆ€μ§€λŸ°ν•˜κ²Œ 곡뢀해야겠닀.

λ‚˜λŠ” ν‰μ†Œμ— μ™„λ²½ν•˜μ§€ μ•ŠμœΌλ©΄ μ˜λ―Έκ°€ μ—†λ‹€κ³  μƒκ°ν•΄μ„œ 일을 μ‹œμž‘ν•˜λŠ” 데 κ±Έλ¦¬λŠ” μ‹œκ°„μ΄ 맀우 였래 κ±Έλ Έλ‹€. λ…Έκ°œλΆ 메인에 μžˆλŠ” κΈ€μ²˜λŸΌ μž‘μ‹¬ 3일을 μ—¬λŸ¬ 번 λ°˜λ³΅ν•΄μ„œ μ–΄μ œλ³΄λ‹€λŠ” μ‘°κΈˆμ΄λΌλ„ λ‚˜μ€ μ‚¬λžŒμ΄ λ˜λŠ” 것을 λͺ©ν‘œλ‘œ 일단 μ‹œμž‘ν•˜λŠ” μŠ΅κ΄€μ„ κΈΈλŸ¬μ•Όκ² λ‹€.

 

 

πŸ‘€ κΆκΈˆν•œ λ‚΄μš©μ΄ μžˆκ±°λ‚˜, 잘 μ΄ν•΄λ˜μ§€ μ•ŠλŠ” λ‚΄μš©μ΄ μžˆλ‹€λ©΄ μ μ–΄λ³΄μ„Έμš”.
  • μΆ”μƒν™”ν•˜λŠ” 것이 μ–΄λ–€ 것인지?
  • SRP, OCP λ“±μ˜ μš©μ–΄λŠ” μ–΄λ–€ μ˜λ―ΈμΈμ§€?

좔상화?

 

[Java] 좔상화, 상속, μΆ”μƒν΄λž˜μŠ€μ™€ μΈν„°νŽ˜μ΄μŠ€ 비ꡐ, λ‹€ν˜•μ„±

λ³Έ ν¬μŠ€νŒ…μ€ jisikTank μŠ€ν„°λ””μ— μ°Έμ—¬ν•˜λ©° μ •λ¦¬ν•œ λ¬Έμ„œμž…λ‹ˆλ‹€. jisikTank Skill 지식 Git Repository 객체지ν–₯κ³Ό 좔상화(상속, μΆ”μƒν΄λž˜μŠ€, μΈν„°νŽ˜μ΄μŠ€, λ‹€ν˜•μ„±) 좔상화(Abstraction) 객체 지ν–₯ ν”„λ‘œκ·Έλž˜λ° ν‚€μ›Œ

sdesigner.tistory.com

 

SRP?

 

단일 μ±…μž„ 원칙 - μœ„ν‚€λ°±κ³Ό, 우리 λͺ¨λ‘μ˜ 백과사전

객체 지ν–₯ ν”„λ‘œκ·Έλž˜λ°μ—μ„œ 단일 μ±…μž„ 원칙(single responsibility principle)μ΄λž€ λͺ¨λ“  ν΄λž˜μŠ€λŠ” ν•˜λ‚˜μ˜ μ±…μž„λ§Œ 가지며, ν΄λž˜μŠ€λŠ” κ·Έ μ±…μž„μ„ μ™„μ „νžˆ μΊ‘μŠν™”ν•΄μ•Ό 함을 μΌμ»«λŠ”λ‹€. ν΄λž˜μŠ€κ°€ μ œκ³΅ν•˜λŠ” λͺ¨λ“ 

ko.wikipedia.org

 

OCP?

 

개방-폐쇄 원칙 - μœ„ν‚€λ°±κ³Ό, 우리 λͺ¨λ‘μ˜ 백과사전

개방-폐쇄 원칙(OCP, Open-Closed Principle)은 'μ†Œν”„νŠΈμ›¨μ–΄ 개체(클래슀, λͺ¨λ“ˆ, ν•¨μˆ˜ λ“±λ“±)λŠ” ν™•μž₯에 λŒ€ν•΄ μ—΄λ € μžˆμ–΄μ•Ό ν•˜κ³ , μˆ˜μ •μ— λŒ€ν•΄μ„œλŠ” λ‹«ν˜€ μžˆμ–΄μ•Ό ν•œλ‹€'λŠ” ν”„λ‘œκ·Έλž˜λ° 원칙이닀. 상세섀λͺ…[νŽΈμ§‘]

ko.wikipedia.org

 

λ°˜μ‘ν˜•

λŒ“κΈ€