2013-08-09 4 views
0

기본적으로 내 프로그램에는 질문 목록이 있습니다. 이 질문은 변경 될 수 있으며 나중에 내 프로그램 릴리스에서 순서가 변경 될 수 있습니다 (변수 이름에 숫자가 잘못 표시되는 이유).주문/전화 번호가 변경 될 수있는 목록의 변수 이름 지정에 대한 표준 접근 방식은 무엇입니까?

이러한 질문의 답을 저장할 변수의 이름을 지정하는 표준 방법은 무엇입니까? 즉, 전형적인 명명법은 무엇입니까?

지금 당장은 질문 자체로 이름을 지정하도록 계획하고 있습니다 (즉, 변수는 기본적으로 문장입니다). 그러나 질문 중 일부는 꽤 길기 때문에 변수도 오래 걸릴 것이므로 매우 어리 석다. 우리가 질문의 표현을 바꾸지 않는 한, 이것은 큰 문제가 아님을 알 수 있습니다.

나는이 코드를 전문적이고 견고하게 유지하여 향후에 다시 돌아올 때 상황이 어디인지 알고 이해/조정하기 쉽습니다.

(덧붙여 말하지만, 나는 변수의 이름이 프로그램에 아무런 영향을 미치지 않는다는 것을 알고 있습니다. 코드를 유지하기 위해 이러한 변수의 이름을 지정하는 가장 좋은 방법을 알고 싶습니다. 깨끗하고 효율적이며 조절 가능)

고마워!

편집 : 또한이 "대답"변수는 내가 Answers라고 불렀던 클래스의 모든 속성이기 때문에 현재 조직 된 방법입니다. 사전이나 다른 것과 같이 더 적합한 다른 유형의 데이터 구조에 넣는 것이 더 나은지 알려주십시오. (Objective-C로 코딩 중입니다.)

편집 : 또한 기술적으로 질문에 대한 답을 번호로 매길 수 있으며 필요하다면 미래에 리팩토링 할 수 있습니다. 예기치 않은 문제가 발생합니까?

답변

3

내가 당신에게 구현을 떠날거야 :)

스토어를 배열에 Question

@interface Question : NSObject 

@property (readonly, copy) NSString* question; 
@property (readonly, copy) NSString* answer; 

-(id) initWithQuestion: (NSString*) question answer: (NSString*) answer; 

@end 

라는 클래스를 정의

NSArray* questions = @[ [[Question alloc] initWithQuestion: @"What is the airspeed velocity of an unladen swallow?" 
                answer: @"what do you mean? African or European?"], 
         [[Question alloc] initWithQuestion: @"What is the largest fish in the sea" 
                answer: @"Blue whale, no really, it is a fish as are all mammals"]];