좋은 코드란 ? 보기 좋은 코드, 깔끔하게 잘 짜여진 코드
좋은 코드를 쓰는 것은 중요! 하지만 나쁜 코드를 쓰지 않는 것이 더 중요
이 말은 더이상 기능을 확장해나가거나, 수정할 수 없게 된다는 의미
하드웨어
딱딱함, 경직, 바꾸기 어려움 - 컴퓨터 부품 바꾸는 어려움
소프트웨어
말랑말랑함, 수정 확장이 쉽다
➡ 나쁜 코드로 이루어진 소프트웨어는 하드웨어보다 바꾸기 힘듬
➡ 코드들은 유기적으로 연결되어 있기 때문에 고치기 힘듬
좋은 코드를 짜는 건 = 관심사를 잘 분리한다.
관심사
하나의 모듈이 수행하고자 하는 목적
모듈
하나의 코드 단위 ( 하나의 파일, 하나의 함수, 하나의 클래스, 하나의 npm 패키지 등)
각 모듈들이 한번에 여러 관심사를 처리하려고 하지 않고, 한 모듈에 하나의 관심사만 처리하도록 분리하는 것
하나의 모듈은 하나의 목적만 가지게 된다
즉, 이 코드가 수정될 이유는 한가지만 존재하게 된다는 의미
➡ 소프트웨어의 특정 부분이 변경되는 이유를 한가지로 제한하기 위해서
➡ 수정되는 부분이 최소화 하니까 유지보수하기 쉬워짐