JavaScript
-
변수명은 의미 있게JavaScript/Refactoring 2023. 4. 27. 12:12
의미 있는 이름 부여, 디버깅이 쉽고 편해진다. 리팩토링 전의 코드는 주석의 내용 없이는 한눈에 보기에 어떤 결과 값을 리턴하는지 알 수 없는 코드다. function price(order) { // 가격(price) = 기본가격 - 수량할인 + 배송비 return ( order.quantity * order.itemPrice - Math.max(0, order.quantity - 500) * order.itemPrice * 0.05 + Math.min(order.quantity * order.itemPrice * 0.1, 100) ); } 의미 있는 이름을 부여하여 변수를 생성하면, 어떤 기능을 하는지 한눈에 보기 편한 코드가 된다. function price(order) { const basePric..
-
나쁜 코드의 종류JavaScript/Refactoring 2023. 4. 21. 08:48
기이한 이름 - 코드 이해력, 가독성 X 중복 코드 - 실수와 에러 발생할 활률 Up 긴 함수 - 이해하기 어려움, 재사용성 Down 긴 매개변수 목록 - 사용하기 어려움, 잦은 실수 전역 데이터 - 최악, 유령같은 버그 출몰 가변 데이터 - 예상하지 못한 곳에서 데이터를 변경 서로 연관있는 나쁜 코드의 예 뒤엉킨 변경(한 곳에서 너무 다양한 기능을 하지 말자) - 다양한 이유로 수정을 해야함 산탄총 수술 - 스파게티처럼 뒤엉켜서 한가지 함수, 한가지 변수 등을 수정하면 여러곳에서 수정해야하는 것을 말한다. 기능 편애(기능 편애로 인해 산탄총 수술이 일어남) - 다른 모듈과 더 밀접하게 상호작용 데이터 뭉치 - 여러곳에서 항상 함께 쓰임 기본형 집착 - 관련된 코드가 여기저기 반복되는 switch 문 -..