변수 와 메서드 명에 대한 15가지 명명 규칙
- 코드의 각각 시점에 따라 변수명을 길게 혹은 짧게 쓴다. 보편적으로 말해보자면 loop counter의 경우 1 char로, condition/loop 변수 경우에는 1단어, 메서드의 경우 1-2 단어, 클래스의 경우 2-3단어, globals한 모든 변수/메서드의 경우에는 3-4단어를 사용한다.
- 변수의 이름에 구체적인 이름을 사용해야한다. 해서는 않되는 예를 들어보자면 “value”,”equals”,”data”이러한 이름을 사용해서는 안된다.
- 변수에 대한 의미있는 이름을 사용합니다. 변수 이름은 그 내용의 정확한 설명을 정의해야합니다.
- 변수명이 o_, obj_, m_ etc로 시작해서는 안됩니다. 변수는 변수를 나타내는 태그를 별도로 붙여서는 않됩니다.
- 회사 명명 표준을 준수하고 해당 응용 프로그램에 맞춰 지속적으로 변수 이름을 작성해야합니다. : e.g. txtUserName, lblUserName, cmbSchoolType, … 그렇지 않으면 가독성을 reduce and find/replace시키는 툴들을 사용할수 없을것입니다.
- 프로그래밍 언어 표준을 준수하고 모순되는 소문자 / 대문자를 사용하지 마십시오: e.g. userName, UserName, USER_NAME, m_userName, username, …
- Java 를 예로 들면,
- use Camel Case (aka Upper Camel Case) for classes: VelocityResponseWriter
- use Lower Case for packages: com.company.project.ui
- use Mixed Case (aka Lower Camel Case) for variables: studentName
- use Upper Case for constants : MAX_PARAMETER_COUNT = 100
- enum class 이름 과 enum values의 대문자의 경우 Camel Case를 사용합니다.
- 상수와 enum 값 (어떤는 상수)를 제외하고 어디서나 ‘_’를 사용하지 않습니다.
- 서로 다른 context에서 같은 클래스의 같은 변수 이름을 재사용하지 마십시오: context의 범위 ( 메서드, 생성자, 클래스 안에서). 그렇게 함으로써 모든이들이 쉽게 이해하고 유지보수 할수있습니다.
- 다른 목적의 method, conditional etc를 같은 변수로 쓰지말자. 차라리 새로만들거나 다른 명칭의 변수명으로 대신하자. 이것은 유지보수적인 측면과 가독성 측면에서 중요한부분이다.
- ASCII 캐릭터가 아닌 변수명을 사용하지 말자. 플랫폼에 따라서 작동하지 않을수가 있다.
- 너무 긴 변수명은 쓰지말자 (예. 길이가 50자이상인경우) 너무 긴 이름은 보기 좋지 않고 읽기가 힘들고 몇몇 컴파일러에서 character제한에 걸려서 작동이 안한다.
- 하나의 언어로만 명명하자 예를들어 영어랑 독일어랑 섞어서 쓰게되면 뭔가 불일치하고 읽기도 힘들다.
- 이름은 메서드의 정확한 동작을 지정해야하며 대부분의 경우에 대해 동사로 시작해야합니다. 예를 들어 createPasswordHash 이런식으로 해야합니다.
- 회사의 명명 규칙에 따르고 어플리케이션에 따라 메서드명을 작성해야한다. getTxtUserName(), getLblUserName(), isStudentApproved(), … 같이 그러하지 않으면 가독성을 reduce and find/replace하는 tool들을 사용할수 없습니다.
- 회사의 명명 규칙에 따르고 대/소문자가 일치 하지 않는 characters 를 사용해서는 않됩니다. 예를 들어 getUserName, GetUserName, getusername, … 같은
- Java의 예를 들자면
- use Mixed Case for method names: getStudentSchoolType
- use Mixed Case for method parameters: setSchoolName(String schoolName)
- Java의 예를 들자면
- 메서드 매개 변수에 대해 의미있는 이름을 사용한다면, 별도의 문서 정의가 없이도 자체적으로 문서화가 될수 있습니다.
15 Best Practices of Variable & Method Naming를 번역했습니다.
===================================================================================
출처 - http://cafe.naver.com/centerjava/63
'Development > Common' 카테고리의 다른 글
동기 비동기 (0) | 2012.07.03 |
---|---|
lang - 정규 표현식 (0) | 2012.05.23 |
Alpha, Beta 버전 (0) | 2012.04.27 |
문자 바이트 수 계산기 (0) | 2012.04.12 |
Base64 원리 2 (0) | 2012.04.11 |