2011-01-20 2 views
3

내가 만드는 게임의 코드를 정리하려고합니다. 처음부터 관련 함수를 덮고있는 객체 안에 넣었습니다. 예를 들어, 초기화 함수는 Init.initialize()에서 액세스 할 수 있습니다.명명 유형 및 인스턴스

그러나이 객체와 다른 객체의 경우 유형을 사용한 다음 인스턴스를 만들고 싶습니다. 예를 들어, 게임의 일부 설정을 저장하는 설정 유형이 있습니다. 설정은 유형이어야하며 인스턴스는 실제 설정 값을 보유해야합니다. 이제

는 어떻게 가장 잘 유형 이름을 지정해야하고 어떻게 다음 예를, 특히 내가 하나의 인스턴스 만이 이름을 지정하는 것이 좋습니까? 설정의 이름을 지정하면 인스턴스를 변수 이름 형식으로 가장 잘 설명 할 수 있습니까?

답변

1

가장 적합한 명명 규칙은 코드를보고 이 아닌이 아닌 6 개월 후에 읽을 수 있습니다.

대부분의 경우 헝가리 표기법은 사용자가 의미하는 것을 기억하지 않는 한 의미가 없습니다.

설정 개체를 들어, 프로토 타입 객체를

SettingsObject 

를 호출하고 인스턴스를 호출

settings 

당신 (그리고 다른 사람의 코드를 읽고는) SettingsObject의 인스턴스가 포함됩니다 이해하기 때문에 , 그리고 변수 settings의 내용을 알고 있어야합니다. 더 긴 이름이 필요하면 더 긴 이름을 사용하십시오.을 개발하는 동안 을 설명하는 데 벌금이 부과되지 않습니다.

즉. UnitMouseClickListener 또는 이 의미하는 다른 이름은입니다.

개발을 마친 후에는 항상 코드를 다시 제작하여 생산할 수 있지만 이후에만 모든 꼬임을 뽑아 냈습니다. 코드를 작성하는 동안 코드를 읽을 수도 있습니다.

+1

감사합니다. 내가 사용하고있는 몇몇 타입들은 이름 끝에 오브젝트 부분이 없어도 괜찮습니다. (예를 들어 Vector3D - 이것을 변수 이름으로 사용하는 것은 설명이 안 될 것입니다.) 그래서 * Some * 타입 이름 뒤에 Object를 두는 것은 불가능합니다. 매우 일관성. 명명 규칙은 실제로 프로그래밍하는 데있어 매우 어려운 측면입니다 ... – pimvdb

2

가장 일반적인 방법은 클래스 이름을 시작하거나 대문자와 함께 인스턴스화 된 클래스에 대한 참조를 저장하는 변수를 낮은 문자로 입력하는 것입니다.

// your class name 
function Settings() { 
    this.initialized = false; 
} 
Settings.prototype.initialize = function() { 
    this.initialized = true; 
} 

var settings = new Settings(); 
settings.initialize(); 

그건 당신의 개인적인 취향에 대한 : 그래서 클래스 및 인스턴스 이름은 다음과 같이 될 것이다. 좀 더 표준화 된 명명 규칙을 원하거나 자신 만의 고유 한 이름을 만들려면 Hungarian Notation을 사용할 수 있습니다. 열쇠는 일관성을 유지하는 것입니다.

+0

궁금한 점은'settings'와'setting'을 모두 사용하고'new Setting'과'Settings' - 오타가 무엇입니까? – pimvdb

+0

그래, 방금 그 고정 – ArtBIT

+0

좋아, 고마워. 그러나 대문자/소문자 만 차이를 만들면이 방법을 선호하지 않습니다. 또한, 내가 아는 한, 일부 언어는 대소 문자를 구분하지 않습니다. – pimvdb