iOS 개발에 누적된 코드 사양
- (id)initWithName:(NSString *)name
age:(NSInteger)age
sex:(MDPersonalSex)sex;
호출 방법도 마찬가지입니다. 매개 변수는 한 줄에 쓰여 있거나, 줄을 바꾸어 사칭하여 정렬됩니다.
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"title"
message:@"message"
delegate:self
cancelButtonTitle:@" "
otherButtonTitles:@" ", nil];
【2】명명 규칙: 유형명 이니셜 대문자, 방법 이니셜 소문자, 방법 중의 매개 변수 이니셜 소문자, 동시에 방법의 명명을 한 문장처럼 읽어서 방법의 뜻을 전달할 수 있도록 하고 값을 얻기 전에 접두어'get'을 붙이지 말아야 한다.
- (void)choosePhotoAtIndex:(NSUInteger)index;
변수 이름 소문자 시작
NSString *title = [titleArray objectAtIndex:0];
상량은 소문자 k로 시작하고, 후속 이니셜은 대문자로 쓴다
static const NSString *kBaseServiceUrl = @"www.baidu.com";
【3】가능한 한 보증합니다.h 파일의 간결성은 공개하지 않는 API는 공개하지 마십시오. 실행 파일에 쓰면 됩니다[4] Xcode는 Objective-C/C++ 혼합을 지원하기 때문에 헤더 파일을 인용할 때: #import Ojbective-C/Objective-C++ 헤더 파일(Objective-C++는 Objective-C와 혼합된 파일), #include C/C++ 헤더 파일입니다.【5】delegate를 쓸 때 유형은 weak약인용으로 순환인용을 피해야 한다.
@property (nonatomic, weak) id delegate;
【6】 실례 변수가 명확할 때 앞에 밑줄 ""를 넣고,국부 변수는 사용하지 않는다.
@interface MDPersonal : NSObject {
@private
NSString *_name;
NSUInteger _age;
MDPersonalSex _sex;
}
【7】 모든 방법의 정의 전에 한 줄을 남긴다. 즉, 방법과 방법 사이에 한 줄을 남긴다.【8】 기능이 비슷한 방법은 함께 놓아야 하며 #pragmamark-**를 사용하여 코드를 내비게이션하고 코드 블록을 나누는 것을 추천합니다.이렇게 하면 함수의 검색을 편리하게 할 수 있다.또한 단축키 control+6을 사용하여 방법의 위치를 빠르게 찾을 수 있습니다.
#pragma mark - UITableViewDataSource
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return self.dataSource.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
SCTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([SCTableViewCell class]) forIndexPath:indexPath];
return cell;
}
【9】 이원 연산자와 매개 변수 사이에는 공백이 있어야 한다. 예를 들어 부치호 = 좌우에 각각 공백을 남겨야 한다.
self.myString = @"235423523452345";
【10】 일원 연산자와 매개 변수 사이에 공백을 두지 않는다. 예를 들어!연산자 없음, &, | 등
BOOL isOpen = true;
BOOL isClose = !isOpen;
[11] 강제 유형 변환과 매개변수 사이에 공백을 두지 않습니다.
NSString *str3 = (NSString*)self.myString;
【12】 긴 변수 값은 여러 줄로 나누어야 한다.특히 수조나 사전을 사용하는 데 나타난다.다음은 그룹 @[]과 사전 @{}을 빠르게 설명하는 방법입니다.
NSArray *array = @[@"1111111",
@"2222222",
@"3333333",
@"4444444"
];
NSDictionary *dict = @{@"key1":@"11",
@"key2":@"22",
@"key3":@"33",
@"key4":@"44"
};
[13] 코드의 중복 계산을 최대한 줄인다. 예를 들어 코드의 여러 곳에서 화면 폭을 사용해야 한다. [[UIScreenmain Screen] bounds].size.width, 그리고 계산을 많이 해요. 번거롭고 코드도 지루해요.차라리 직접 매크로 정의:
#define SCREEN_WIDTH ([[UIScreen mainScreen] bounds].size.width)
[14] 매크로 정의 모든 자모 대문자 [15] 정의 매거진 시 typedef
typedef NS_ENUM(NSInteger, MDPersonalSex) {
///
MDPersonalSexDefault,
///
MDPersonalSexMale,
///
MDPersonalSexFemale
};
【16】 첫 번째 괄호는 방법체 뒤에 있는 것이지 다른 줄이 아니다. 그러면 코드 줄 【17】Protocol이 단독으로 하나의 파일로 만드는 것을 줄일 수 있고 관련 클래스와 한 파일에 섞이지 않도록 한다.【18】 클래스 방법과 실례 방법을 대표하는 "+"더하기 기호, "-"빼기 기호는 빈칸이 필요하다.【19】xib를 로드할 때 명칭은 NSStringFromClass()를 사용하는 것이 좋으며, 쓰기 오류를 피할 수 있다
[self.tableView registerNib:[UINib nibWithNibName:NSStringFromClass([SCSmartApplyPhotoCell class]) bundle:nil]
forCellReuseIdentifier:NSStringFromClass([SCSmartApplyPhotoCell class])];
【20】 만약에 제3자 라이브러리를 사용한다면 그 내부 실현을 수정하지 말고 다시 포장하고 개성 있게 만들어야 한다.【21】 속성이 BOOL 유형인 경우 괄호에 Get 메소드 이름을 다시 쓰는 것이 좋습니다. 코드의 가독성이 향상되었습니다.
@property (assign, nonatomic, getter=isShow) BOOL show;
계속 보완 중입니다.
주: 위에는 모두 제 일가의 말입니다. 만약에 여러분의 개발팀이나 회사가 자신의 코드 규범을 가지고 있다면 당연히 팀의 말에 따라야 합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.