λ°μν
ν΄λμ€ μ μΈ μμ
- λ³μ λͺ©λ‘
- μ μ κ³΅κ° μμ
- μ μ λΉκ³΅κ° λ³μ
- λΉκ³΅κ° μΈμ€ν΄μ€ λ³μ
- κ·Έ μΈ λ³μ λͺ©λ‘
- ν¨μ
- κ³΅κ° ν¨μ
- λΉκ³΅κ° ν¨μλ μμ μ νΈμΆνλ κ³ ν¨μ μ§νμ λ£λλ€
κ³΅κ° λ³μκ° νμν κ²½μ°λ κ±°μ μλ€.
μ¦, μΆμν λ¨κ³κ° μμ°¨μ μΌλ‘ λ΄λ €κ°λ€.
μΊ‘μν
: λ³μμ μ νΈλ¦¬ν° ν¨μλ 곡κ°νμ§ μλ νΈμ΄ λ«λ€
privateμ μ°λ κ² μ΄μμ μ΄λ€.
νμ§λ§ κ°μ ν¨ν€μ§ μμμ μ°μ΄λ κ²½μ°μλ protectedλ defaultλ₯Ό μ¬μ©νλ€.
νμ§λ§ κ·Έ μ μ λΉκ³΅κ° μνλ₯Ό μ μ§ν λ°©λ²μ κ°κ΅¬νλ€.
μΊ‘μνλ₯Ό νμ΄μ£Όλ κ²°μ μ μΈμ λ μ΅νμ λ°©λ²μ΄λ€.
ν΄λμ€λ μμμΌ νλ€
→ μ± μμ΄ μ μ΄μΌ νλ€
- λ§μ½ κ°κ²°ν μ΄λ¦μ΄ λ μ€λ₯΄μ§ μκ³ Processor, Manager, Superκ° λ€μ΄κ°μΌ νλ€λ©΄ ν΄λμ€ ν¬κΈ°κ° ν° κ²μ΄λ€.
- ν΄λμ€ μ€λͺ μ if, and, or, but (λ§μΌ, κ·Έλ¦¬κ³ , νλ©°, νμ§λ§)μ μ¬μ©νμ§ μκ³ μ 25λ¨μ΄ λ΄μΈλ‘ μ μ μ μμ΄μΌ νλ€.
λ¨μΌ μ± μ μμΉ
SRP
Single Responsibility Principle
: ν΄λμ€λ λͺ¨λμ λ³κ²½ν μ΄μ κ° νλμ¬μΌ νλ€.
- λ‘κ·ΈμΈ κΈ°λ₯μ μμ μ΄ νμν λ
- κ²μκΈ κΈ°λ₯μ μμ ν λ
- λκΈμ μμ ν λ
- ..
ν΄λμ€λ λͺ¨λμ μμ ν΄μΌνλ μ΄μ λ νλμ¬μΌ νλ€.
SRPλ κ°λ°μλ€μ΄ κ°μ₯ 무μνλ κ·μΉ μ€ νλλ€.
μ°λ¦¬ λλ€μλ 'κΉ¨λνκ³ μ²΄κ³μ μΈ μννΈμ¨μ΄'λ³΄λ€ 'λμκ°λ μννΈμ¨μ΄'μ μ΄μ μ λ§μΆλ€.
λ§μ κ°λ°μλ€μ΄ λ¨μΉ μ± μ ν΄λμ€κ° λ§μμ§λ©΄ ν° κ·Έλ¦Όμ μ΄ν΄νκΈ° μ΄λ €μμ§κΈ° μ°λ €νλ€.
ν° κ·Έλ¦Όμ μ΄ν΄νλ €λ©΄ μ΄ ν΄λμ€ μ ν΄λμ€λ₯Ό μμμ΄ μλ€κ°λ€ ν΄μΌνλ€ κ±±μ νλ€.
νμ§λ§ ν΄λμ€κ° μλ ν¬λ λΆν(method)μλ λΉμ·νλ€.
'λ§μ μλ₯λ₯Ό μ 리ν λ ν° μλ λͺ κ°μ λλ μ λμ Έλ κ²μΈκ°, νμΌμ 차곑차곑 λλ λ΄μ κ²μΈκ°'
λΉμ°ν μμ ν΄λμ€ μ¬λΏμΌλ‘ μ΄λ€μ§ μμ€ν μ΄ λ°λμ§νλ€.
λ°μν
'π CleanCode' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[CleanCode]μμ€ν 1 (0) | 2024.10.10 |
---|---|
[CleanCode]ν΄λμ€ 2 (1) | 2024.10.08 |
[CleanCode]λ¨μ ν μ€νΈ (2) | 2024.10.03 |
[CleanCode]κ²½κ³ 2 (1) | 2024.10.01 |
[CleanCode]κ²½κ³ 1 (1) | 2024.10.01 |