β μ΄ ν¬μ€ν μ λ Έλ§λ μ½λ λΆν΄λ½ 'ν΄λ¦° μ½λ' μ±λ¦°μ§λ₯Ό μ§ννλ©΄μ μμ±νλ TILμ΄λ©°, μΆμ²λ Clean Codeμ λλ€.
π λ²μ : ~05. νμ λ§μΆκΈ°
π μ± μμ κΈ°μ΅νκ³ μΆμ λ΄μ©μ μ¨λ³΄μΈμ.
- μ½λ νμ === μμ¬μν΅
- μ’μ νμμΌλ‘ μμ±νλ λ°©λ²
- μ κ°λ μ μμν λλ λΉ ν λ£κΈ°
- λ°μ ν λ΄μ©μ κ°κΉμ΄ (μΈλ‘ κ±°λ¦¬κ° κ°κΉκ² μμ±)
- instance λ³μ ⇒ class 맨 μ²μμ μ μΈ
- a ν¨μκ° b ν¨μλ₯Ό νΈμΆνλ€λ©΄ λμ κ°κΉκ², λλλ‘ aλ₯Ό bλ³΄λ€ λ¨Όμ μμ±
- κ°λ μΉνλ β¬ ⇒ κ°κΉμ΄! (μ’ μ ν¨μ, λ³μ - λ³μ μ¬μ© ν¨μ, λΉμ·ν λμ μν)
- λ€μ¬ μ°κΈ° μνκΈ°
- Teamμ΄ μλ€λ©΄ Team κ·μΉ μ νκ³ κ·Έμ λ°λ₯΄κΈ°, κ°μΈνλνμ§ μκΈ°
- λ€λ₯Έ μ¬λμ΄ μ½κΈ° μ½κ², κ·κ²©νν΄μ μμ± (μ¬ μ¬μ©μ±β¬)
βπ» μ€λ μ½μ μκ°μ? λ μ€λ₯΄λ μκ°μ κ°λ³κ² μ μ΄λ³΄μΈμ.
μ½λλ κΈ°κ³μ μ¬λ κ°μ μν΅μ΄λΌκ³ μκ°νμλλ°, μ± μ μ½μμλ‘ μ¬λκ³Ό μ¬λκ³Όμ μν΅μμ λ μ€μν μν μ νλ€λ κ²μ μκ² λμλ€. λν μ’μ μννΈμ¨μ΄λ₯Ό λ§λ€κΈ° μν΄μλ μ½κΈ° μ¬μ΄ μ½λλ‘ μμ±ν΄μΌ νκ³ , μ μ§ λ³΄μκ° μ©μ΄ν μ μλλ‘ νμμ μ§μΌμ μ½λλ₯Ό μμ±ν΄μΌ νλ€λ μ μ λ°°μ λ€. κ·Έλ¦¬κ³ νμ IDEμ formattingμ μ¦κ²¨ μΌλλ°, μμ€ν μλ§ μμ‘΄νλ κ²μ΄ μλλΌ λ€μ¬ μ°κΈ°, λΉμ·ν κ°λ μ μΈλ‘ μμΉλ₯Ό κ°κΉμ΄ μμ±νκΈ° λ±μ μ μνλ©΄μ μ½λλ₯Ό μμ±ν΄μΌκ² λ€.
κ·Έλ¦¬κ³ μ§λλ²μ λ§λ ν μ΄ νλ‘μ νΈμ μ½λλ€μ λ€μ μ΄ν΄λ³΄λ©΄μ μ€λ λ°°μ΄ λ΄μ©μ λ°νμΌλ‘ μΌκ΄μ± μκ² λ€μ κ³ μ³λ΄μΌκ² λ€.
π κΆκΈν λ΄μ©μ΄ μκ±°λ, μ μ΄ν΄λμ§ μλ λ΄μ©μ΄ μλ€λ©΄ μ μ΄λ³΄μΈμ.
νμμ μ¬μ©νλ λ°©μμ μ΄λ€ κ²λ€μ΄ μλμ§ κΆκΈνλ€. ESlintλ₯Ό μ¬μ©νμ§ μκ³ νλ κ²μΈμ§ μ¬μ©ν ν λ€μ μμ ν΄ μ£Όλ κ²μΈμ§ κΆκΈνλ€. κ·Έλ¦¬κ³ JSμμλ κ°λ μ λ¨Όμ μμ±ν ν λ μλμμ νΈμΆμ ν΄μΌ νλ€κ³ μκ°νλλ°, μμ μ½λλ₯Ό 보λ κ°λ μ΄ μλμ μκ³ , νΈμΆνλ μ½λκ° λ μλ¨μ μμΉνλ κ±° κ°μμ μ‘°κΈ λ 곡λΆλ₯Ό ν΄λ΄μΌκ² λ€!
μ’μ μ:
class PerformanceReview {
constructor(employee) {
this.employee = employee;
}
perfReview() {
this.getPeerReviews();
this.getManagerReview();
this.getSelfReview();
}
getPeerReviews() {
const peers = this.lookupPeers();
// ...
}
lookupPeers() {
return db.lookup(this.employee, 'peers');
}
getManagerReview() {
const manager = this.lookupManager();
}
lookupManager() {
return db.lookup(this.employee, 'manager');
}
getSelfReview() {
// ...
}
}
const review = new PerformanceReview(employee);
review.perfReview();
μΆμ² : ν΄λ¦° μ½λ - μλ°μ€ν¬λ¦½νΈ ko λ²μ κΉνλΈ
'Book TIL' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
ν΄λ¦°μ½λ Day 13. λ³΅μ΅ + ν΄μ¦ Day (0) | 2022.05.07 |
---|---|
ν΄λ¦°μ½λ Day 12. κ°μ²΄μ μλ£κ΅¬μ‘° (0) | 2022.05.04 |
ν΄λ¦°μ½λ Day 8-9. λλ¬μ΄ μ½λ κ³ μΉκΈ° (0) | 2022.05.03 |
ν΄λ¦°μ½λ Day 7-8. μ£Όμ μ°λ λ°©λ² (0) | 2022.04.30 |
ν΄λ¦°μ½λ Day 5-6. ν¨μ μ¬μ© μ μ£Όμν μ λ€ (0) | 2022.04.28 |
λκΈ