[ μ€λ μ½μ λ²μ ]
4.3 ~ 4.6
[πΒ μ€λ TIL μμ½ ]
λͺ μμ /μμμ μ€λ₯μ²λ¦¬ κΈ°λ² μ€ μ΄λ κ²μ μ¬μ©ν μ§μλ νμ λ°λΌ λ¬λ €μλ€.
μ»΄νμΌλ¬μ κ²½κ³ λ₯Ό 무μνμ§ λ§λΌ.
볡ꡬν μ μλ μ€λ₯μΌ κ²½μ°λ μμμ μ€λ₯ μ λ¬ κΈ°λ²μ μ¬μ©ν΄μΌ νλ€. 볡ꡬνκΈ°λ₯Ό μν μλ μλ μ€λ₯λ λͺ μμ λ°©μμ μ¬μ©νμ.
[ μ± μμ κΈ°μ΅νκ³ μΆμ λ΄μ©μ μ¨λ³΄μΈμ ]
μ€λ₯μλ, μμ€ν μ΄ λ³΅κ΅¬ν μ μλ μ€λ₯ / μλ μ€λ₯κ° μλ€.
λΉκ²μ¬ μμΈ(μλ x μ‘°μ©ν μμΈμ²λ¦¬)λ 볡ꡬν μ μλ μ€λ₯μΌ κ²½μ° κΆμ₯λμ§λ§. λ¬Έμνκ° μ λμ΄μΌ νκ³ μ€λ₯ μ²λ¦¬μ λν λ¨μΌ κ³μΈ΅μ κ°κΈ°κ° μ΄λ ΅λ€. λ§μ κ°λ°μλ λλΆλΆμ μ€λ₯ μ²λ¦¬κ° μ½λμ μμκ³μΈ΅μμ μ΄λ£¨μ΄μ§ μ μκΈ° λλ¬Έμ μ€κ°κ³μΈ΅μ μ½λλ μ€λ₯ μ²λ¦¬λ₯Ό ν νμκ° μλ€κ³ νλ€. μ΄λ κ² μμΈ μμΈμ²λ¦¬λ λλμ§μ‘κΈ°λ‘ μ΄μ΄μ§λ€.
κ²μ¬μμΈλ μλν μ€λ₯ μ²λ¦¬λ‘, νΈμΆνλ μͺ½μμ 볡ꡬν μ μκΈΈ λ°λ λ μ¬μ©νλ€. ex) νλ‘κ·Έλλ° μ€λ₯
λͺ
μμ λ°©λ²
μ½λλ₯Ό νΈμΆν μͺ½μμ μ€λ₯κ° λ°μν μ μμμ μΈμ§ν μλ°μ μλλ‘ νκ³ , μ΄λ₯Ό μ΄λ»κ² μ²λ¦¬νλ μ§λ νΈμΆμ μͺ½μ λ¬λ €μλ€.
μμμ λ°©λ²
μ€λ₯λ₯Ό μ리μ§λ§ μ€λ₯λ₯Ό μ κ²½ μ°μ§ μμλ λλ€. μ€λ₯κ° λ°μν μ μμμ μκΈ° μν΄μ λ¬Έμλ μ½λλ₯Ό μ½λ λ±μ μ κ·Ήμ μΈ λ
Έλ ₯ νμ.
[ μ€λ μ½μ μκ°μ? λ μ€λ₯΄λ μκ°μ κ°λ³κ² μ μ΄λ³΄μΈμ ]
μλ° μΈμ΄κ° μ μ λ§μ΄, κΉμν λμ€κ³ μμ΄μ, μ£Όλ§μ μλ° κ³΅λΆλ₯Ό νκ³ λ€μ μ΄ν΄λ΄μΌ ν κ² κ°λ€β¦
final / Result / setOutput μ λν΄ μμ보기
[ μ€λ μ½μ λ²μ ]
**4.1 볡ꡬ κ°λ₯μ±**
- 4.1.1 볡ꡬ κ°λ₯ν μ€λ₯
- 2.1.2 볡ꡬν μ μλ μ€λ₯
- 4.1.3 νΈμΆνλ μͺ½μμλ§ μ€λ₯ 볡ꡬ κ°λ₯ μ¬λΆλ₯Ό μ λκ° λ§λ€.
- 4.1.4 νΈμΆνλ μͺ½μμ 볡ꡬνκ³ μ νλ μ€λ₯μ λν΄ μΈμ§νλλ‘ ν΄λΌ
**4.2 κ²¬κ³ μ± vs μ€ν¨**
- 4.2.1 μ μνκ² μ€ν¨ν΄λΌ
- 4.2.2 μλνκ² μ€ν¨ν΄λΌ
- 4.2.3 볡ꡬ κ°λ₯μ±μ λ²μ
- 4.2.4 μ€λ₯λ₯Ό μ¨κΈ°μ§ μμ
[πΒ μ€λ TIL μμ½ ]
μ€λ₯λ λΆκ°νΌ ν κ²μΌλ‘ μ΄λ₯Ό μ¨κΈ°κΈ°λ³΄λ€ μ κ·Ήμ μΌλ‘ μλ € μ€λ₯ λ²μλ₯Ό μλ € νΈμΆνλ μͺ½μμ μ΄λ₯Ό λͺ νν μΈμ§ν μ μλλ‘ ν΄μΌ νλ€.
μ΄λ ν κ°μ μ΄ μ€μ€λ‘μκ²λ λͺ λ°±ν΄ λ³΄μΌ μ μμ΄λ λ€λ₯Έ μ¬λμκ²λ κ·Έλ μ§ μμ μ μλ€λ₯Έ μ μ μ΄ν΄ν΄μΌ νλ€.
μ μνκ² μ€ν¨νμ¬ μ€λ₯μ μμΉλ₯Ό λΉ λ₯΄κ² νμΈν μ μλλ‘ ν΄λΌ
μμΈ μ²λ¦¬(ex νλ‘κ·Έλλ° μ€λ¨)μ ν΅ν΄ μ€λ₯λ₯Ό μλνκ² μλ €λΌ.
μ€λ₯λ₯Ό μ¨κΈ°λ©΄ κ°λ°νμ΄ λ¬Έμ λ₯Ό μΈμν μ μλ€. λν΄νΈ κ°, λΉ κ°, μ무κ²λ νμ§ μλ λ°ν μ²λ¦¬μ λν΄ μ‘°μ¬ν΄μΌ νλ€.
[ μ± μμ κΈ°μ΅νκ³ μΆμ λ΄μ©μ μ¨λ³΄μΈμ ]
javaλ‘ μ€λͺ
μ΄ λμ΄μμ΄μ μμλ₯Ό μ΄ν΄νλ κ²μ μ΄λ €μμ κ²ͺμλλ°, μλ λΈλ‘κ·Έ κΈμ΄ chap 4μμ μ λ¬νκ³ μ νλ λ°μ λΉμ·νμ¬ λμμ΄ λμλ€.
https://velog.io/@design0728/clean-code-typescript-μλ¬μ²λ¦¬Error-Handling
μ±
μ΄ μ§μμ²΄λ‘ λμ΄μλ λ΄μ©μ΄ λ§μλ°, μ΄ μ€ κ²μ¬ μμΈλΌλ ννμ΄ μ΄ν΄νκΈ° μ΄λ ΅λ€.
μ΄λ κ²°κ΅ throw Error
μ κ°μ μ²λ¦¬λ‘ μ΄λ ν 쑰건μ κ²μ¬ν κ²½μ° κ°μ λ‘ μμΈ μ²λ¦¬κ° λλλ‘ νλ κ²μ΄λ€.
//μλμ κ°μ μΆμνλ ν¨μκ° μκ³
const someFunction = () : string | Error =>{
if(false){
throw new Error
}else{
return 'μ μ κ°'
}
}
// λκ΅°κ° νΈμΆν κ²½μ° νλ¨μ²λΌ μ€λ₯λ₯Ό λͺ
νν μΈμ§ν μ μλ€.
try(){
someFunction()
}catch(e){
console.log(e)
}
[ μ€λ μ½μ μκ°μ? λ μ€λ₯΄λ μκ°μ κ°λ³κ² μ μ΄λ³΄μΈμ ]
κ·Έλμ μ€λ₯λ₯Ό μ μ²λ¦¬νλ κ²μλ§ μ§μ€νκ³ , μ΄λ»κ² μ€λ₯λ₯Ό μ릴 κ² μΈμ§μ λν κ³ λ―Όμ κΉκ² ν΄λ³Έ μ μ΄ μμ΄μ λ§μ μκ·Ήμ΄ λμλ€.
μ΄ μ½λκ° λμκ²λ λͺ νν΄ λ³΄μ¬λ λκ΅°κ°μκ² κ·Έλ μ§ μλ€λ κ²μ λ μΈμ§νκ³ μμ΄μΌ νλ€. ν λ΄μμ μ½λλ‘ μν΅νλ λ²μ κ³μ κ³ λ―Όν΄μΌ νλ€.