가독성이 좋아 이해하기 쉽고 변경하기 쉽고 재사용하기 쉬운 효율적인 코드를 말한다
소프트웨어 개발은 단 1번의 개발에서 끄타는 것이 아니라 이후 수 많은 변경이 필요하기 때문에 기능 개발만큼 유지보수도 중요하다. 따라서 코드를 다시 읽었을 때 이해하기 쉽고 나중에 변경하기 쉬워야 한다
코딩 컨벤션 지키기
코딩 컨벤션은 읽고 관리하기 쉬운 코드를 작성하기 위한 코딩 스타일 규칙이다. 정해진 규칙이 있기 때문에 명칭이나 구조를 빠르고 정확하게 정할 수 있고 통일된 규약이 있기 때문에 모든 사람들이 코드를 이해하기 쉽고 편하다.
사용하는 프로그래밍 언어나 프로젝트에 따라 사용하는 코딩 컨벤션이 정해져있고 변수 이름이나 함수 이름, tab, enter 규칙 등이 포함된다.
좋은 이름 짓기
변수 이름만 보면 변수의 정의를 찾아볼 필요없이 어떠한 것인지 알 수 있어야 한다. 이름의 길이를 줄이는 것보다는 이름이 명확한 뜻을 가지고 있는 것이 더 중요하다. 함수명은 동사로, 변수와 클래스 이름은 명사로 지어야 한다.
파악하기 쉽게 프로젝트 구조 만들기
프로젝트를 처음 다운받으면 프로젝트 폴더 구조를 보고 어디에 어떤 코드가 있는지 대략적으로 파악한다. 보통은 프레임워크에 따라 자주 쓰는 프로젝트 구조가 있고 프레임워크에 상관없이 대표적인 패턴이 있다. 첫 번째는 기술적인 용도에 따라 폴더를 구분하는 방법과 도메인에 따라 폴더를 구분하는 방법이 있다.
반복하지 말자
똑같은 코드를 절대 ctrl+c, ctrl+v 하지 말자는 원칙이다. 똑같은 기능을 하는 코드가 중복된다면 해당 코드의 수정이 필요한 똑같은 모든 코드를 수정해야 한다. 중복을 최대한 배제하는 습관을 들이는 것이 좋다.
추출이 아닌 추상화를 하자
‘추출’은 ‘특별한 기준없이 일단 밖으로 빼내는 것’을 말하고 ‘추상화’는 ‘일정한 기술을 적용시켜 정리해낸 것을 말한다’ 별도의 함수, 파일로 추출하는 이유는 다른 파일에서도 재사용하기 위해서이다. 단순히 중복된 코드는 추출을 했을 때 다른 곳에서 재사용하기 어렵다.