2011-01-14 2 views
3

온라인 리소스를 모델링하는 객체가 있습니다. 따라서 내 객체는 자신이 속한 리소스의 URL을 저장해야합니다. getter 및 setter의 이름을 어떻게 지정합니까?머리 글자 어인 속성에 대해 Objective-C/Cocoa 명명 규칙이 있습니까?

MyObject *myObject = [[MyObject alloc] init]; 

// Set values 
[myObject setURL:url]; 
myObject.URL = url; 

// Get values 
[myObject URL]; 
myObject.URL; 

또는 다음이 더 나은 것 :

MyObject *myObject = [[MyObject alloc] init]; 

// Set values 
[myObject setUrl:url]; 
myObject.url = url; 

// Get values 
[myObject url]; 
myObject.url; 

전자의 예는 물론 다음과 같은 방법으로 속성을 정의 할 필요 :

@property (retain, getter = URL, setter = setURL:) NSURL *url; 

답변

4

Apple은 Acceptable Abbreviations and Acronyms의 목록을 가지고 있습니다. 여기에서 URL이 나열됩니다. 나는 을 사용하여 NSURLRequest, NSURLResponse, NSPersistentStore 등 (모두 URL 속성을 가짐)과 일치합니다.

대문자 이름 사용의 이점은 낙타 사례가 더 잘 작동한다는 것입니다. anURLanUrl (제 의견으로는)보다 우수합니다.

+0

개인의 의견이 더 좋아 보이지만 "myUrl"과 같은 대소 문자는 단어 분리를 올바르게 보존하므로 더 명확합니다. NSURL은 통증없이이 규칙을 위반할 정도로 유비쿼터스이지만 일반적으로 좋지 않은 선택입니다. –

+0

anUrl이 (내 의견으로는) anURL보다 좋아 보인다. 또한 anUrl은 일반 텍스트가 쓰여지는 방식을 따릅니다. 책을 읽을 때, 거의 모든 단어는 처음에 하나의 대문자 만 있거나 소문자만으로 구성됩니다. 그러므로 뇌는 일련의 대문자를 읽는 것보다 일련의 소문자를 읽는 것이 더 낫습니다. 아마도 anURL이 유창하게 아래로 내려가는 동안 anURL이 나를 읽으라는 느낌이 들게 될 것입니다. –

1

사과 사용 ... 모두 ;)

패턴이 url/로 이동하는 것처럼 보입니다.

+0

그래서 기본적으로 내가 제안한 것의 혼합, 맞죠? 제 말은'[myObject url]'하지만'[myObject setURL]'입니다. 하지만 점 표기법의 의미는'myObject.url = ...'또는'myObject.URL = ...' – t6d

+0

'@property (retain, setter = setURL :) NSURL * url; 'obj.url = ...'또는'[obj setURL : ...];'을 허용하십시오. – d11wtq

+1

아니요, 그것은'-URL'과'-setURL'입니다. –

관련 문제