
예를 들어서 어떤 프로그램의 코드가 한 파일에 8,000줄이라고 하면, 어떤 코드가 어디에 있는지 찾기 힘들 것입니다.
하지만 100줄 짜리 코드로 나누어 모듈 파일을 80개 만들고, 이것을 폴더로 분류해 두면 어떤 코드가 어디에 있는지 찾기 훨씬 쉬워집니다.
이렇게 구조화된 코드는 새로운 기능을 개발할 때도 효율적이지만, 이미 만들어져 있는 기능을 수정하기에도 좋습니다.
또한 새로운 팀원이 프로젝트에 투입되더라도, 코드가 잘 구조화 되어있다면 기존 코드를 이해하기가 훨씬 쉬울 것입니다.
코드를 구조적으로 관리하다보면 반복되는 코드를 공통된 파일로 묶어서 관리할 수 있게 됩니다.
예를 들어서 에러 메시지를 처리하는 함수, 데이터의 형태가 올바른지 검증하는 함수는 백엔드 서버에서 전체적으로 반복적으로 사용하는 함수입니다. 이런 함수는 반복적으로 코드를 작성해 사용하기 보다는 따로 모듈로 분리해서 가져와서 사용하는 것이 효율적입니다.
이런 식으로 자주 사용하는 코드를 모아서 사용하면 개발 효율성을 높일 수 있습니다.
자바스크립트에서는 하나의 파일 안에서 변수, 함수, 클래스를 만들 때 이름을 중복해서 사용할 수 없습니다. 만약 8,000줄 짜리 코드를 하나의 파일에서 관리하면, 새로운 변수를 만들 때 마다 이름을 중복되지 않도록 지어야 합니다. 결국 코드가 많아질 수록 변수나 함수 이름을 더 짓기 어려워집니다.
모듈로 코드를 분리하면 각 모듈 안에서는 다른 모듈에서 사용 중인 변수 이름과 상관없이 독립적으로 이름을 지을 수 있습니다. 이런 독립적인 이름 짓기 영역을 네임스페이스라고 합니다.
모듈은 네임스페이스를 정의하므로 이름짓기 대한 고민과 실수 없이 효율적인 개발을 할 수 있도록 도와줍니다.