[Refactoring 2ν] Chapter 6-2 ν¨μ μΈλΌμΈνκΈ°
리ν©ν°λ§ 2νμ λ³΄κ³ μ 리ν κΈλ‘, μλ΅λ λΆλΆμ΄ μκ±°λ μλͺ» μ΄ν΄ν λΆλΆμ΄ μμ μ μμ΅λλ€.
κ°λ κ³Ό μμΉ
ν¨μ λ³Έλ¬Έμ½λλ₯Ό μΈλΌμΈν΄μ μ¨λ²λ¦¬κ³ ν¨μ μ΄λ¦κ³Ό block μ μ κ±°νλ κ²μ΄ ν¨μ μΈλΌμΈμ΄λ€. μ½λλ₯Ό λ 립λ ν¨μλ‘€ μΆμΆνλ 6-1 ν¨μ μΆμΆκ³Ό λ°λλλ κ°λ μ΄λ€. μ΄ λ°©λ²μ μ€λͺ 보λ€λ μ½λλ₯Ό λ¨Όμ 보λκ² μ΄ν΄κ° λΉ λ₯΄λ€.
μ½λ μμ
리ν©ν λ§ μ
function getRating(driver) { return moreThanFiveLateDeliveries(driver) ? 2 : 1; } function moreThanFiveLateDeliveries(driver) { // μ΄ ν¨μμμλ λ³λμ λ°μ΄ν° κ°κ³΅μ΄ μλ κ²λ μλκ³ return λ‘μ§μ΄ κ°λ¨νλ€. // μ΄λ° κ²½μ°μλ ν¨μλ‘ μ΄λ κ² λ°λ‘ μΆμΆνλκ² λΉν¨μ¨μ μ΄λ€. return driver.numberOfLateDeliveries > 5; }
리ν©ν λ§ ν
function getRating(driver) { return (driver.numberOfLateDeliveries > 5) ? 2 : 1; }
μ μ°¨
-
λ€ν λ©μλμΈμ§ νμΈνλ€.
μλΈ ν΄λμ€μμ μ€λ²λΌμ΄λ νλ λ©μλλ μΈλΌμΈνλ©΄ μ λλ€. λ€νμ±μ΄λ κ°μ λͺ¨μμ μ½λκ° λ€λ₯Έ νμλ₯Ό νλ κ²μ μλ―Ένλ€. λΆλͺ¨ ν΄λμ€μ λΆλͺ¨ ν΄λμ€ μμ±μ μμλ°μ μλΈ ν΄λμ€κ° μμ λ, μλΈ ν΄λμ€λ€μ λΆλͺ¨ ν΄λμ€μ μ΄λ―Έ μλ λ©μλμ λκ°μ μ΄λ¦μΌλ‘ λ©μλλ₯Ό μμ±ν μ μλλ°, μ΄ κ²½μ° λ©μλ λ΄ λ‘μ§μ μλ‘κ² μ μν μ μλ€. μ΄λ¬ν λ©μλλ₯Ό μλΈ ν΄λμ€μμ μ€λ²λΌμ΄λ νλ λ©μλλΌ νλ€. μ΄λ° κ²½μ°μλ λ©μλ μ μλ₯Ό μ μ§ν΄μΌ νλ―λ‘ μΈλΌμΈνλ©΄ μλλ κ²μ΄λ€.
-
μΈλΌμΈν ν¨μλ₯Ό νΈμΆνλ κ³³μ λͺ¨λ μ°Ύλλ€.
-
2 λ²μμ μ°Ύμ κ³³λ€μ λͺ¨λ ν¨μ λ³Έλ¬ΈμΌλ‘ κ΅μ²΄νλ€.
-
ν¨μ μ μλ₯Ό μμ νλ€.