λ€μ΄κ°κΈ° μ μ
ν΄λ¦°μ½λ μ μμ λ§μ λ°λ₯΄λ©΄ 1997λ λ§ ν΄λ TDDTest Driven Development κ°λ μ μ무λ λͺ°λλ€κ³ νλ€.
λΉμλ§ ν΄λ λ¨μ ν μ€νΈλ νλ‘κ·Έλ¨μ΄ 'λμκ°λ€'λ μ¬μ€μ μ¦λͺ νλ μΌνμ± μ½λμ λΆκ³Όνλ€.
λν μμ§λ ν΄λ¦°μ½λ λΌλ κ°λ μ νμ¬ λ μ€λ₯΄λ κ°λ μ΄λ©°, μ€μ μ 무μμλ μμ¬μ μ§μλλ‘ κ°λ°μ μ§ννλ κ²μ΄ λ°λμ§νλ€.
κΉ¨λν ν μ€νΈ μ½λ
μ€μ μ½λκ° λ³νλ©΄ ν
μ€νΈ μ½λλ λ³ν΄μΌ νλ€.
→ ν
μ€νΈ μ½λκ° μ§μ λΆν μλ‘ ν
μ€νΈμ½λλ₯Ό μμ νλλ° λ λ§μ μκ°μ΄ κ±Έλ¦¬κ³ μ€ν¨λ‘ λ° νλ₯ μ΄ λμμ§λ€.
ν μ€νΈ μ½λλ μ€μ μ½λ λͺ»μ§ μκ² μ€μνλ€.
ν μ€νΈλ μ μ°μ±, μ μ§λ³΄μμ±, μ¬μ¬μ©μ±μ μ 곡νλ€.
μ½λκ° λ³κ²½λ μν©μμ μ°λ¦¬λ ν΄λ¦ νλ²μΌλ‘ λ³κ²½λ μ½λκ° μ±κ³΅μ΄λΌλ κ²μ μμμΌ νλ€.
μ΄κ²μ μ 곡νλ κ²μ΄ λ°λ‘ λ¨μ ν μ€νΈμ΄λ€.
μ°λ¦¬λ ν μ€νΈ μΌμ΄μ€κ° μμΌλ©΄ λ³κ²½μ΄ λλ ΅μ§ μκ² λλ€.
μ€μ μ½λλ₯Ό μ κ²νλ μλνλ λ¨μ ν μ€νΈ μνΈλ μ€κ³μ μν€ν μ³λ₯Ό κΉ¨λνκ² λ³΄μ‘΄νλ μ΄μ λ€.
μ΄μ€ νμ€
- ν μ€νΈ API μ½λμ μ μ©νλ νμ€μ μ€μ μ½λμ μ μ©νλ νμ€κ³Ό λ€λ₯Έλ€.
- κ°κ²°νκ³ , ννλ ₯μ΄ νλΆν΄μΌ νμ§λ§, μ€μ μ½λλ§νΌ ν¨μ¨μ μΌ νμλ μλ€.
ν μ€νΈ λΉ assert νλ
- assert λ¬Έμ΄ νλλ©΄ κ²°λ‘ λ νλμ΄κΈ°μ μ½λλ₯Ό μ΄ν΄νκΈ° λΉ λ₯΄κ³ μ½λ€.
- νμ§λ§ νμμ assertλ¬Έμ λ μΆκ°ν΄λ μκ΄μλ€.
- λλλ‘ μ΅λν μ€μ¬μΌ μ’λ€λ κ²μ΄λ€.
F.I.R.S.T
- Fast
: ν μ€νΈλ 빨리 λμμΌ νλ€. λ리면 ν μ€νΈλ₯Ό μμ£Όν μλλ₯Ό λͺ» λΈλ€. - Independent
: κ° ν μ€νΈλ μλ‘ μμ‘΄νλ©΄ μλλ€. νλκ° μ€ν¨νλ©΄ λλ¨Έμ§λ μ€ν¨νλ―λ‘. - Repeatable
: μ΄λ€ νκ²½μμλ λ°λ³΅ κ°λ₯ν΄μΌ νλ€.
μ€μ νκ²½, QAνκ²½, λ€νΈμν¬κ° μλλ νκ²½μμλ. - Self-Validating
: ν μ€νΈ κ²°κ³Όλ True/False. μ±κ³΅ μλ μ€ν¨νλ boolean κ°μ΄μ¬μΌ νλ€.
κ²°κ³Όλ₯Ό νμΈνλ €κ³ νμΌ λκ°λ₯Ό μμμ μΌλ‘ λΉκ΅νκ² λ§λ€μ΄μλ μλλ€. - Timely
: λ¨μ ν μ€νΈλ ν μ€νΈνλ €λ μ€μ μ½λλ₯Ό ꡬννκΈ° μ§μ μ ꡬννλ€.
μ½λλ₯Ό λ§λ€κ³ ν μ€νΈ μ½λλ₯Ό λ§λ€λ©΄ μ€μ μ½λκ° ν μ€νΈνκΈ° μ΄λ ΅λ€λ μ¬μ€μ λ°κ²¬νκ±°λ, ν μ€νΈκ° λΆκ°λ₯νκ² μ½λλ₯Ό μ€κ³ν μ λ μλ€.
κ²°λ‘
ν μ€νΈ APIλ₯Ό ꡬνν΄ λλ©μΈ νΉν μΈμ΄DSLμ λ§λ€μ.
2024.10.03 - [π κ°λ° μ¬μ /π μ©μ΄] - [ITμ©μ΄]DSL:Domain Specific Language
κ·Έλ¬λ©΄ κ·Έλ§νΌ ν μ€νΈ μ½λλ₯Ό μ§κΈ°κ° μ¬μμ§λ€.
'π CleanCode' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[CleanCode]ν΄λμ€ 2 (1) | 2024.10.08 |
---|---|
[CleanCode]ν΄λμ€ 1 (0) | 2024.10.08 |
[CleanCode]κ²½κ³ 2 (1) | 2024.10.01 |
[CleanCode]κ²½κ³ 1 (1) | 2024.10.01 |
[CleanCode]μ€λ₯μ²λ¦¬-μ μ νλ¦μ μ μνλΌ (0) | 2024.09.28 |