지난 달 IT World Korea에 "‘다른 개발자는 어떻게 쓸까?’ 사소하고 재미있는 9가지 프로그래밍 관례"라는 흥미로운 내용의 기사가 실렸었습니다. 제목처럼 개발자들이 개발시 지키는 개발 규칙들에 대한 이야기인데 시간이 좀 지난 기사이지만 기사에 실렸던 9가지 관례와 그 관례를 저는 어떻게 하고 있는지에 대해 써보도록 하겠습니다.
1. 탭보다는 스페이스 : 들여쓰기 할때 스페이스 84%, 탭 16%
저도 스페이스를 사용합니다. 시스템에 따라 탭은 탭 간격이 다를 수 있기 때문입니다. 스페이스 4칸을 탭 하나로 사용하고요.
2. 라인 최대 길이는 80자 : 80자 92%, 120자 6%, 150자 2%
저도 클래식하게 80자를 사용합니다. 80자라는 길이는 초기 모니터의 가로 글자 수가 80자였기 때문에 시작된 관례죠.
3. 빈 괄호는 생략 : 함수 또는 메소드를 정의/호출할 때 빈 괄호 생략 98%, 포함 2%
저는 항상 괄호는 사용합니다.
4. 인수 정의 앞뒤로 스페이스 두지 않기 : 함수 선언에서 인수 앞뒤로 스페이스를 넣지 않는다 94%, 넣는다 6%
전 스페이스가 있는 것이 보기 좋지 않아 스페이스 넣지 않습니다.
5. 처음이 아닌 마지막에 쉼표 : 여러 라인에 걸쳐 일련의 값을 정의할 때 마지막에 쉼표 92%, 처음에 쉼표 8%
역시 마지막. 처음에 있으면 먼가 어색...
6. 스네이크_케이스(snake_case)보다 캐멀케이스(camelCase) 규칙을 선호 : 네이밍 규칙으로 캐멀케이스(camelCase) 87%, 스네이크_케이스(snake_case) 11%, 파스칼케이스(PascalCase) 2%
캐멀케이스
7. 중괄호만으로 구성되는 라인은 없음 : 클래스, 메소드 또는 제어 구조와 같은 코드 블록을 작성할 때 중괄호를 선언문과 같은 라인에 70%, 새로운 라인에 30%
이건 언어와 경우에 따라 다르게 사용하고 있습니다. Java의 경우는 모두 같은 라인에 사용하는데 PHP는 Zend Framework에서 권장하는 방식을 사용하고 있어 클래스/메소드는 다른 라인에, 제어 구조의 경우는 같은 라인에 사용하고 있습니다. 요즘은 PHP도 통일을 할까 생각 중입니다.
8. 큰 따옴표보다는 작은 따옴표 : 문자열을 사용하는 경우 작은 따옴표 57%, 큰 따옴표 43%
이것도 언어에 따라 다르게 사용합니다. Java나 Javascript는 큰 따옴표를 사용하고 PHP는 작은 따옴표를 기본으로 사용합니다. PHP의 경우는 언어 특성에 따른 것인데 PHP는 큰 따옴표로 감싼 문자열은 변수를 값으로 치환하는 파싱을 하기 때문에 불필요한 작업을 없애기 위해 작은 따옴표를 기본으로 사용하고 있습니다.
9. 상수 이름은 모두 대문자로 : 모두 대문자 53%, 모두 대문자는 아님 47%
역시 클래식하게 모두 대문자. 상수는 상수답게?
1. 탭보다는 스페이스 : 들여쓰기 할때 스페이스 84%, 탭 16%
저도 스페이스를 사용합니다. 시스템에 따라 탭은 탭 간격이 다를 수 있기 때문입니다. 스페이스 4칸을 탭 하나로 사용하고요.
2. 라인 최대 길이는 80자 : 80자 92%, 120자 6%, 150자 2%
저도 클래식하게 80자를 사용합니다. 80자라는 길이는 초기 모니터의 가로 글자 수가 80자였기 때문에 시작된 관례죠.
3. 빈 괄호는 생략 : 함수 또는 메소드를 정의/호출할 때 빈 괄호 생략 98%, 포함 2%
저는 항상 괄호는 사용합니다.
4. 인수 정의 앞뒤로 스페이스 두지 않기 : 함수 선언에서 인수 앞뒤로 스페이스를 넣지 않는다 94%, 넣는다 6%
전 스페이스가 있는 것이 보기 좋지 않아 스페이스 넣지 않습니다.
5. 처음이 아닌 마지막에 쉼표 : 여러 라인에 걸쳐 일련의 값을 정의할 때 마지막에 쉼표 92%, 처음에 쉼표 8%
역시 마지막. 처음에 있으면 먼가 어색...
6. 스네이크_케이스(snake_case)보다 캐멀케이스(camelCase) 규칙을 선호 : 네이밍 규칙으로 캐멀케이스(camelCase) 87%, 스네이크_케이스(snake_case) 11%, 파스칼케이스(PascalCase) 2%
캐멀케이스
7. 중괄호만으로 구성되는 라인은 없음 : 클래스, 메소드 또는 제어 구조와 같은 코드 블록을 작성할 때 중괄호를 선언문과 같은 라인에 70%, 새로운 라인에 30%
이건 언어와 경우에 따라 다르게 사용하고 있습니다. Java의 경우는 모두 같은 라인에 사용하는데 PHP는 Zend Framework에서 권장하는 방식을 사용하고 있어 클래스/메소드는 다른 라인에, 제어 구조의 경우는 같은 라인에 사용하고 있습니다. 요즘은 PHP도 통일을 할까 생각 중입니다.
8. 큰 따옴표보다는 작은 따옴표 : 문자열을 사용하는 경우 작은 따옴표 57%, 큰 따옴표 43%
이것도 언어에 따라 다르게 사용합니다. Java나 Javascript는 큰 따옴표를 사용하고 PHP는 작은 따옴표를 기본으로 사용합니다. PHP의 경우는 언어 특성에 따른 것인데 PHP는 큰 따옴표로 감싼 문자열은 변수를 값으로 치환하는 파싱을 하기 때문에 불필요한 작업을 없애기 위해 작은 따옴표를 기본으로 사용하고 있습니다.
9. 상수 이름은 모두 대문자로 : 모두 대문자 53%, 모두 대문자는 아님 47%
역시 클래식하게 모두 대문자. 상수는 상수답게?
===
사진 포트폴리오 - City, City People (http://photo.just4fun.kr/)
사진 매거진 앱 - Viewzin (http://viewzin.just4fun.kr/)
사진 매거진 앱 - Viewzin (http://viewzin.just4fun.kr/)