RIDI Style Guide

iOS 코딩 스타일

Swift 코딩 스타일

Apple’s Swift API Design GuidelinesRay Wenderlich Swift Style Guide를 따르되 다음을 예외로 한다.

// Bad
if results.isEmpty.not(), let delegate = seriesDelegate(byId: seriesId) {
    books.append(delegate)
}
// Good
if results.isEmpty.not(),
    let delegate = seriesDelegate(byId: seriesId) {
        books.append(delegate)
}
// Bad
if let userInfo = notification.userInfo,
    bookId = userInfo["bookId"] as? String {
        removeObject(forKey: bookId)
}
// Good
if let userInfo = notification.userInfo,
    let bookId = userInfo["bookId"] as? String {
        removeObject(forKey: bookId)
}
// Bad
if book.isGrouped && book.seriesId != nil {
    ...
}
// Good
if book.isGrouped,
    book.seriesId != nil {
        ...
}
// Swift에서 권장하는 네이밍
func removeUserShelf(at index: UInt)
// 위 메소드가 xcbuild에 의해 ObjC로 변환됐을 때의 네이밍
- (void)removeUserShelfAt:(NSUInteger)index;
// ObjC에서 권장하는 네이밍
- (void)removeUserShelfAtIndex:(NSUInteger)index;

Objective-C 코딩 스타일

Apple’s Cocoa Coding GuidlinesGoogle Objective-C Style Guide를 따르되 다음을 예외로 한다.

NSDictionary *dictionary = [[NSDictionary alloc] initWithObjectsAndKeys:@”value1”, @”key1”, @”value2”, @”key2”, nil]; NSDictionary *modernDictionary = @{@”key1”: @”value1”, “key2”: @”value2”, …};

NSNumber *number = [[NSNumber alloc] initWith…]; NSNumber *modernNumber = @5; // @.5, @1.5, @YES, @(4 + 2)


## 공통 코딩 스타일

- Tab Size는 4로 하고 Space를 사용한다.

- Brace 내 코드가 한 줄이더라도 Brace로 반드시 감싸는 것으로 한다.

```obj-c
if (condition) {
    doSomething();
}

네이밍

Swift 네이밍

Swift API Design Guidelines의 Naming 참고.

Objective-C 네이밍

Apple’s Cocoa Coding Guidlines의 Naming 항목들 참고.

Assets Catalog 네이밍

리디 리소스 네이밍

애플 리소스 네이밍