ν΄λ¦°μ½λ
-
[Clean Code] νμ λ§μΆκΈ°Dev/μ 리 2022. 5. 17. 21:03
ν¬λ§·ν μ΄ μ€μν μ΄μ 1. κ°λ μ±μ νμμ μ΄λ€ μ½λλ₯Ό μμνκ² μ½μ΄λκ° μ μλ€. μλ§μΆμ΄μ²λΌ 보μ΄μ§ μλλ€. ν¬λ§·ν μΌλ‘ μΈν΄ μ½λλ₯Ό μλͺ»ν΄μν΄ λ²κ·Έλ₯Ό λ°μν μνμ μ€μΈλ€. 2. 200λΌμΈ νμ μμμ λλΆλΆμ μ½λλ€λ 200λΌμΈ μ λλ₯Ό μ μ§νλ€ μ½λ κΈΈμ΄κ° 200λΌμΈμ λμ΄κ°λ€λ©΄, ν΄λμ€κ° μ¬λ¬ κ°μ μΌμ νκ³ μμ μ μλ€. SRPμ μλ°°λλ€. 3. λ°μ ν κ°λ μ μλ‘ κ°κΉμ΄ λλ€. ν λ¬Άμμ μκ²°λ μκ° νλλ₯Ό νννκΈ° λλ¬Έμ κ°λ μ λΉ νμΌλ‘ λΆλ¦¬νλ€. λ³μλ μ¬μ©λλ μμΉμμ μ΅λν κ°κΉμ΄ μ μΈνλ€. Java Class Declarations Class λ΄λΆ μ½λ μμ 1. static λ³μ public -> protected -> package -> private μμ 2. instance λ³..
-
[Clean Code] ν¨μDev/μ 리 2022. 5. 15. 11:24
SOLID (κ°μ²΄μ§ν₯μ€κ³) κ°μ²΄μ§ν₯ μ€κ³μ 5κ°μ§ μμΉ 1. SRP λ¨μΌ μ± μ μμΉ ν ν΄λμ€λ νλμ μ± μλ§ κ°μ ΈμΌ νλ€. ν΄λμ€λ νλμ κΈ°λ₯λ§ κ°μ§λ©°, μ΄λ€ λ³νμ μν΄ ν΄λμ€λ₯Ό λ³κ²½ν΄μΌ νλ μ΄μ λ μ€μ§ νλλΏμ΄μ¬μΌ νλ€. SRP μ± μμ΄ λΆλͺ ν΄μ§κΈ° λλ¬Έμ, λ³κ²½μ μν μ°μμμ©μμ μμ λ‘μ μ§ μ μλ€. κ°λ μ± μμκ³Ό μ μ§λ³΄μκ° μ©μ΄ν΄μ§λ€. μ€μ μλ μ½μ§ μμ§λ§ λ μκΈ°ν΄μΌ νλ€. 2. OCP κ°λ°©/νμ μμΉ μννΈμ¨μ΄ μμλ νμ₯μλ μ΄λ € μμΌλ λ³κ²½μλ λ«ν μμ΄μΌ νλ€. λ³κ²½μ μν λΉμ©μ μ€μ΄κ³ , νμ₯μ μν λΉμ©μ κ°λ₯ν κ·Ήλν ν΄μΌ νλ€. μꡬμ¬νμ λ³κ²½μ΄λ μΆκ°μ¬νμ΄ λ°μνλλΌλ, κΈ°μ‘΄ ꡬμ±μμμλ μμ μ΄ μΌμ΄λμ§ μκ³ , κΈ°μ‘΄ ꡬμ±μμλ₯Ό μ½κ² νμ₯ν΄μ μ¬μ¬μ©νλ€. κ°μ²΄μ§ν₯μ μΆμνμ ..
-
[Clean Code] κΉ¨λν μ½λ, μλ―Έ μλ μ΄λ¦Dev/μ 리 2022. 5. 14. 21:22
λμ μ½λλ? - μ±λ₯μ΄ λμ μ½λ - μλ―Έκ° λͺ¨νΈν μ½λ - μ€λ³΅λ μ½λ λμ μ½λκ° λμ μ΄μ - κΉ¨μ§ μ 리창 λ²μΉ λμ μ½λλ κΉ¨μ§ μ 리창μ²λΌ κ³μ λμ μ½λκ° λ§λ€μ΄μ§λλ‘ νλ€. - μμ°μ± μ ν λμ μ½λλ μμ°μ±μ μ ν μν¨λ€. - μλ‘μ΄ μμ€ν μ λ§λ€μ΄μΌνλ€ νμμ€ν μ μ μ§λ³΄μνλ©°, λ체ν μλ‘μ΄ μμ€ν κ°λ°μ νμ€μ μΌλ‘ λ§€μ° μ΄λ ΅λ€. ν΄λ¦° μ½λ - μ±λ₯μ΄ μ’μ μ½λ - μλ―Έκ° λͺ νν μ½λ(= κ°λ μ±μ΄ μ’μ μ½λ) - μ€λ³΅μ΄ μ κ±°λ μ½λ -> λͺ λ£ν μ½λ κ°λ¨ν μ½λ - λͺ¨λ ν μ€νΈλ₯Ό ν΅κ³Όνλ€. - μ€λ³΅μ΄ μλ€. - μμ€ν λ΄ λͺ¨λ μ€κ³ μμ΄λμ΄λ₯Ό νννλ€. - ν΄λμ€, λ©μλ, ν¨μ λ±μ μ΅λν μ€μΈλ€. μλ―Έ μλ μ΄λ¦ μ§κΈ° - μλλ₯Ό λΆλͺ ν λ°νκΈ° // μλͺ»λ λ³μ int a; String..