π¨ μ½λκ°μ : μ€μ²©λ 쑰건문μ κ°μ νλ λ°©λ²
2023-10-24
π© κ°μ
κ°λ°μ νλ€λ³΄λ©΄ μ½λκ° λκ° λ³΅μ‘νκ³ μ½κ³ μ΄ν΄νκΈ° νλ€λκ° μμ΅λλ€. μ½λμ κ°λ
μ±μ΄ λ¨μ΄μ§λ μ΄μ μ€ κ°μ₯ νν μ€μ²©λ 쑰건문
μ κ°μ νλ λ°©λ²μ λν΄ μκ°ν΄λ΄
μλ€.
β쑰건문μ μμ±νλ λ°©μ λκ°μ§
μ€μ²©λ λΆκΈ°μ 쑰건문μ μμ±νλ λ°©μμ μλμ λκ°μ§λ‘ ν¬κ² λλ©λλ€.
1λ²μ Bubble Styleμ κ²½μ° μ΄ ν¬μ€νΈμ μ£Όμ μΈ μ€μ²© 쑰건문(nested if statement) λ°©μμ
λλ€. 쑰건μμ΄ μμͺ½μ λͺ¨μ¬μμ΄ μλ¨μ λΆκΈ°λ‘ κ°λ 첫λ²μ§Έ νλ¦μ 보기 μ½μ§λ§, μλμͺ½ λΌμΈμ²λΌ else
κ° λͺ¨μ¬μλ κ³³μ μ½λλ₯Ό νμ
νκΈ°κ° κ΅μ₯ν μ΄λ ΅μ΅λλ€.
2λ²μ Gateway Styleμ κ²½μ° λΉ λ₯Έ λ°ν(early return)
μ΄λΌκ³ λ λΆλ¦¬λ λ°©μμ
λλ€. κΈ°μ‘΄μ μ½λμ 쑰건μμ λ°λλ‘ λ€μ§μ΄ μ€μ½νλ₯Ό λ²μ΄λλ λλ λΆλΆμ λ¨Όμ μ²λ¦¬νλ ꡬ쑰μ΄κΈ° λλ¬Έμ, 1λ²μ λΉν΄ ν¨μ¬ μ½κΈ°κ° νΈνκ³ μ½λμ νλ¦μ΄ μ΄λμ μ€λ¨λλμ§ νμ
νκΈ° μ¬μ΄ ꡬ쑰λ₯Ό κ°κ³ μμ΅λλ€.
μ μμ μμ λ¨μνκ² condition1
κ°μ νμμΌλ‘ μ μ΄μ μ½κΈ°κ° νΈνμ§λ§, λ§μ½ μ‘°κ±΄λ¬Έμ΄ μλμ κ°λ€λ©΄ κ΅μ₯ν λν΄ν μ½λκ° λ©λλ€.
μ¬μνμ§λ§ 2λ² λ°©μμ λνλμ μ₯μ μΈ λ€μ¬μ°κΈ°κ° μ€μ΄λ λ€λ μ λλΆμ, μ€ κΈΈμ΄μ λΆμ‘±μΌλ‘ λμ€μ΄ λλ μ½λλ νμ€μ λ€μ΄κ°κ² λμ£ .
ποΈλ§μΉ¨
μ½λλ₯Ό λ¨Όμ λͺ©μ μ λ°λΌ μμ±ν λ€ μμ²λΌ κ°μ νλ κ³Όμ μ΄ μλ€λ©΄, μΆν λ€μ μ½λλ₯Ό μ½κ³ νμ ν λ ν° λμμ΄ λ κ² κ°μ΅λλ€. κ°λ μ±μ΄ μ’μ μ½λλ₯Ό μ°λ μ΅κ΄μ λ€μ΄κΈ° μν΄ κ°μ₯ κΈ°μ΄μ μΈ λλ¬μ΄ μ½λ(code smells) μ¬λ‘λ₯Ό ν¬μ€νΈλ‘ μμ±ν΄λ΄€λλ°, μκ°λ³΄λ€λ λΆλμ΄ λ 짧μ λλμ΄λ€μβ¦ κ°λ μ±μ μν ν¬μ€νΈλ₯Ό λ μμ±νλ€κ° μ μ¬ν λ΄μ©μ΄ λμ€λ©΄ ν©μ³μΌκ² μ΅λλ€β¦γ γ