κ°λ μ±μ΄ λμ μ½λ. λͺ¨λ νμμ΄ μ΄ν΄νκΈ° μ½λλ‘ μμ±λ μ½λλ₯Ό λ§νλ€.
κΉλν μ½λλ μ½λ 리뷰, μ½λ νμ
κ³Ό λλ²κΉ
μκ°μ λ¨μΆμν¨λ€.
μκ°μ μμμ΄λ©°, μ΄λ λμΌλ‘ μ΄μ΄μ§λ€. λ°λΌμ μ½λ μ μ§λ³΄μ μκ°μ μ€μ΄κ² λλ©΄ λΉμ¦λμ€ λ°Έλ₯λ₯Ό μ°½μΆν μ μκ² λλ€.
ν΄λ¦° μ½λ©μ νμ§ μμΌλ©΄, "technical dept"κ° λ°μνλ€.
*) technical deptλ?
ν μμ μμ λ λμ μ κ·Όλ°©μλ³΄λ€ λ μ¬μ΄ μ루μ
μ μ±νν¨μΌλ‘μ¨ λ°μλλ μΆκ°μ μΈ μ¬μμ
μ λΉμ©
-
λ€μ΄λ°
- λ³μλͺ /ν¨μλͺ μ λ³΄κ³ μν μ μ μΆν μ μμ΄μΌ νλ€.
int AAA(int a, int b){ //μν μ μ μΆν μ μλ ν¨μ μ΄λ¦ return a+b; } int sum(int a, int b){ //μ¬λ°λ₯Έ μ½λ return a+b; }
- λ³μ μ΄λ¦μ μ§μ λ, CamelCaseλ₯Ό μ¬μ©νμ.
int customerid; //μΉ΄λ©μΌμ΄μ€κ° μ μ© μ λ λ³μλͺ int customerId; //μΉ΄λ©μΌμ΄μ€ μ μ©
- μμλ μ λΆ λλ¬Έμμ΄λ©°, λμ΄μ°κΈ°λ μΈλμ€μ½μ΄(_)λ‘ νννλ€.
final int MAX_COUNT = 1000;
- ν΄λμ€ μ΄λ¦μ λͺ μ¬λ λͺ μ¬κ΅¬κ° μ ν©νλ€. ex) Customer, Account
- ν¨μ μ΄λ¦μ λμ¬λ λμ¬κ΅¬κ° μ ν©νλ€. ex) getName, isChecked, Calculate
-
ν¨μ μμ±
- νλμ ν¨μλ νλμ μΌλ§ ν΄μΌ νλ€.
- νλΌλ―Έν°μ κ°μλ μ μμλ‘ μ’λ€.
- ν¨μκ° μ¬λ¬κ°λΌλ©΄, κ°λ μ±μ μν΄ ν¨μμ ν¨μ μ¬μ΄μ κ°κ²©μ λμ΄μΌ νλ€.
-
μ£Όμ μμ±
- μ£Όμμ μλ κ²μ΄ μ’λ€. μ΅λν μ½λλ§ λ³΄κ³ λ μ΄ν΄ν μ μλλ‘ μμ±νλ€.
- todo μ£Όμμ μ΄μ©νμ¬ μν©μ κΈ°λ‘νλ€.
-
μ€λ₯ μ²λ¦¬
- κ°μ λ¬Έλ³΄λ¨ try-catchλ¬Έμ μ¬μ©νμ
- nullλ³΄λ¨ λΉ λ§€μ΄μ΄λ 0κ³Ό κ°μ κ°μ λ°ννμ. null pointer exceptionμ λ°μμ λ§μ μ μλ€.
-
λ¨μ ν μ€νΈ
- κ°λ₯ν λͺ¨λ ν¨μλ₯Ό ν μ€νΈ νμ.
-
ν΄λμ€ μμ±
- ν΄λμ€μ ν¬κΈ°λ μμμλ‘ μ’λ€. νλμ ν΄λμ€λ νλμ μν λ§ κ°μ ΈμΌ νλ€.
- μΈμ€ν΄μ€ λ³μμ μκ° μμμΌ νλ€.
-
νλ¦ λ°λ₯΄κΈ°
- μΌμͺ½μλ λ³μλ₯Ό, μ€λ₯Έμͺ½μλ μμλ₯Ό λκ³ λΉκ΅νλ€.
if(length >= 10)
- λΆμ μ΄ μλ κΈμ μ λ€λ£¨μ
if( a == b ) { // a!=bλ λΆμ } else { }
μ΄λ―Έ μμ±μ μλ£ν μ½λλ₯Ό λ λμ μ½λλ‘ κ°μ μν€κΈ° μν΄ λ΄λΆ ꡬ쑰λ₯Ό λ³κ²½νλ κ². λ¨, μΈλΆ λμμ κ°μμΌ νλ€.
μ½λμ κ°λ μ±μ λμ΄κ³ , μ μ§λ³΄μλ₯Ό λ μ½κ² νκΈ° μν¨.
- κ°μ μ½λκ° μΈ λ² μ΄μ λ°λ³΅μ΄ λ λ
- μλ‘μ΄ κΈ°λ₯μ μΆκ°ν λ
- μ½λ 리뷰λ₯Ό ν λ
- λ²κ·Έλ₯Ό μμ ν λ
- μ½λλ₯Ό μ²μλΆν° λ€μ μμ±ν΄μΌ ν λ
- μμ± λ§κ°μΌμ΄ κ°κΉμΈ λ
κ΅¬λΆ | κΈ°λ² | μ€λͺ |
λ©μλ μ 리 | Extract Method | κ·Έλ£ΉμΌλ‘ λ¬Άμ μ μλ μ½λ μ‘°κ°μ΄ μλ€λ©΄ λ©μλλ‘ μΆμΆ |
Replace Temp With Query | μμμ λ©μλλ‘ λ§λ€κ³ , μμ λ³μ μ°Έμ‘°λ₯Ό λ©μλ νΈμΆλ‘ μμ | |
κ°μ²΄κ° κΈ°λ₯ μ΄λ | Move Method | λ©μλκ° μμ μ΄ μ μλ ν΄λμ€λ³΄λ€ λ€λ₯Έ ν΄λμ€μμ λ©μλλ₯Ό λ λ§μ΄ μ¬μ©νλ€λ©΄ λ©μλλ₯Ό μ΄λ |
Extract Method | λ κ°μ ν΄λμ€κ° ν΄μΌ ν μΌμ νλμ ν΄λμ€κ° νκ³ μλ€λ©΄ ν΄λμ€λ₯Ό λΆλ¦¬ | |
λ©μλ νΈμΆ λ¨μν | Rename Method | λ©μλ μ΄λ¦μ΄ λͺ©μ ννμ λͺ» ν λ μ΄λ¦ λ³κ²½ |
Remove Parameter | λΆνμν νλΌλ―Έν° μ κ±° | |
ν΄λμ€/λ©μλ μΌλ°ν | Full up field | λ μλΈ ν΄λμ€κ° λμΌν νλλ₯Ό κ°μ§κ³ μλ€λ©΄ κ·Έ νλλ₯Ό μνΌ ν΄λμ€λ‘ μ¬λ¦Ό |
Full up Method | λμΌν μΌμ νλ λ©μλλ₯Ό μ¬λ¬ μλΈ ν΄λμ€μμ κ°μ§κ³ μλ€λ©΄ μ΄ λ©μλλ₯Ό μνΌ ν΄λμ€λ‘ μ¬λ¦Ό | |
κΈ°ν | Encapsulation field | Public νλκ° μλ κ²½μ° κ·Έ νλλ₯Ό Privateλ‘ λ§λ€κ³ μ κ·Όμ μ 곡 |
Decompose Conditional | 쑰건 λ Όλ¦¬λ₯Ό λ¨μννμ¬ νν |
- 리ν©ν λ§ λμ μλ³
- ν
μ€νΈλ₯Ό ν΅ν μ μ©
- μμ λ¨μλ³λ‘ 리ν©ν λ§ ν, μλ νμΈ -> μλμ΄ λ κ²½μ° λ€μ λ¨κ³, μ λ κ²½μ° undo
리ν©ν λ§μ΄ λ ν° μλ―Έλ₯Ό κ°μ§λ€.
ν΄λ¦° μ½λλ₯Ό μν 리ν©ν λ§μ΄λΌκ³ ν μ μλ€.
- ν΄λ¦°μ½λ
- κ°λ μ±μ λμ΄κΈ° μν μμ
- μ€κ³μμ νμ
- 리ν©ν λ§
- ν΄λ¦° μ½λλ₯Ό ν¬ν¨ν μ μ§λ³΄μλ₯Ό μν μ½λ κ°μ
- κ²°κ³Όλ¬Όμ΄ λμ¨ μ΄ν μΆκ°μμ μμ μ€ν