From 9aa2706b4cdfdda991d76cffe9304073617ae70d Mon Sep 17 00:00:00 2001 From: Wojciech Nagrodzki <278594+wnagrodzki@users.noreply.github.com> Date: Thu, 9 Jan 2014 09:48:56 +0100 Subject: [PATCH] Genral rules --- Cocoa Programming Guidelines.pdf | Bin 54481 -> 69280 bytes Cocoa Programming Guidelines.tex | 212 +++++++++++++++++++++++++++++++ 2 files changed, 212 insertions(+) diff --git a/Cocoa Programming Guidelines.pdf b/Cocoa Programming Guidelines.pdf index 71ba0d3a39b06d1263412ca86f8f44341d9e4a32..69d81b11b36ef8ec4cb1557e113d3f3fd70fc3cc 100644 GIT binary patch delta 57302 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 delta 42684 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 diff --git a/Cocoa Programming Guidelines.tex b/Cocoa Programming Guidelines.tex index 7217e53..637f866 100644 --- a/Cocoa Programming Guidelines.tex +++ b/Cocoa Programming Guidelines.tex @@ -421,4 +421,216 @@ In one case bisection is allowed. \end{codelisting} +\section{General rules} + +\subsection{Header file is imported only if necessary} + +Importing a header files is allowed: + +\begin{itemize} +\item if class needs to conform to a protocol (header with protocol declaration) +\item if class is inheriting from another class (header with superclass declaration) +\item if class uses enums in its interface (header with enums declarations) +\end{itemize} + +In any other cases forward declaration should be applied. + + +\subsection{Delegate method always passes the sender} + +Delegation method passes sender as first parameter. It is a good practice to use will/did paradigm. + +\begin{codelisting} +- (NSInteger)exampleClassNumberOfActions:(ExampleClass *)exampleClass +- (void)exampleClass:(ExampleClass *)exampleClass willPerformAction:(Action *)action; +- (void)exampleClass:(ExampleClass *)exampleClass didPerformAction:(Action *)action; +\end{codelisting} + + +%\subsection{Lallal} +% +%a +% +%\begin{codelisting} +%@property (nonatomic) CGGradientRef tileGradient; // default: a lovely blue +%@property (nonatomic) NSInteger selectionBorderWidth; // default: 5 pixels +%@property (nonatomic) CGGradientRef selectionGradient; // default: a subtle white to grey gradient +%\end{codelisting} + + +\subsection{Init method takes only mandatory parameters} + +All settings required to proper initialization are passed as initializer parameters. They are accessible later through readonly properties. + +\begin{codelisting} +@property (strong, nonatomic, readonly) DownloaderMode downloaderMode; + +- (id)initWithDownloaderMode:(DownloaderMode)downloaderMode; +\end{codelisting} + +\begin{tiplisting} +If you need a convenience method to create instances, consider creating factory methods. +\end{tiplisting} + + +\subsection{Accessors are not used in init and dealloc} + +Instance subclasses may be in an inconsistent state during init and dealloc method execution, hence code in those methods must avoid invoking accessors. + +\begin{codelisting} +- (id)init +{ + self = [super init]; + if (self) { + _foo = [NSMutableSet set]; + } + return self; +} + +- (void)dealloc +{ + [_titleLabel removeObserver:self forKeyPath:@"text"]; +} +\end{codelisting} + + +\subsection{Abstract class can be faked with assertion} + +Creating instances of abstract classes can be thwarted with following assertion. + +\begin{codelisting} +NSAssert1([self isMemberOfClass:[MyAbstractClass class]] == NO, + @"%@ is an abstract class. Please do not create instances of it.", [self class]); +\end{codelisting} + + +\subsection{Abstract method raises exception} + +Forcing subclass to provide implementation of a method is accomplished by raising exception. + +\begin{codelisting} +- (void)abstractMethod +{ + [NSException raise:NSInternalInconsistencyException + format:@"It's template method. Implementation must be provided in subclass."]; +} +\end{codelisting} + + +\subsection{Enumeration type contains invalid value} + +Enumeration type equal to zero is considered as invalid. It protects instance variables from being initialized with meaningful value. + +\begin{codelisting} +typedef NS_ENUM(NSInteger, Enumeration) { + EnumerationInvalid, + EnumerationA, + EnumerationB, + EnumerationC, +}; +\end{codelisting} + +It also shields from false positives, when comparing against values returned by methods sent to nil pointer. + +\begin{codelisting} +NSError * error; +BOOL valid = [self isUserValid:user error:&error]; +if (valid == NO) { + if(error.code == LoginOrderBlockedErrorCode) { + // assuming error is nil and LoginOrderBlockedErrorCode is equal to 0 + } +} +\end{codelisting} + +\begin{importantlisting} +Always check error domain before checking error code. +\end{importantlisting} + + +\subsection{The highest level of abstraction is used by default} + +Lower levels are used only when more control is needed. For example, instead using GCD: + +\begin{codelisting} +dispatch_sync(dispatch_get_main_queue(), ^{ + // code +} +\end{codelisting} + +Use operation queue. + +\begin{codelisting} +[[NSOperationQueue mainQueue] addOperationWithBlock:^{ + // code +}]; +\end{codelisting} + + +\subsection{Exceptions are not used to control flow} + +The general pattern is that exceptions are reserved for programming or unexpected runtime errors such as out-of-bounds collection access, attempts to mutate immutable objects, sending an invalid message, and losing the connection to the window server. The program catching such an exception should quit soon afterwards. Exceptions must not be used to control flow in favor of NSError objects. +When developing a class or a framework exceptions are thrown to indicate that class or framework is being misused: + +\begin{codelisting} +- (void)abstractMethod +{ + [NSException raise:NSInternalInconsistencyException + format:@"It's template method, you need to implement it in your subclass"]; +} +\end{codelisting} + + +\subsection{Lazy loading reduces memory footprint} + +Creating object on demand reduces initialization time of containing class. + +\begin{codelisting} +- (NSMutableDictionary *)cacheDictionary +{ + if (_cacheDictionary == nil) { + _cacheDictionary = [NSMutableDictionary dictionary]; + } + return _cacheDictionary; +} +\end{codelisting} + + +\subsection{Object registers itself as an observer} + +Unregistering follows the same rule. + +\begin{codelisting} +[obj addObserver:self forKeyPath:@"isExecuting" options:NSKeyValueObservingOptionNew context:NULL]; +... +[obj removeObserver:self forKeyPath:@"isExecuting" context:NULL]; +\end{codelisting} + + +\subsection{Property in category is realized by associated object} + +New property is added to existing class by using associated objects. Please pay attention to the way the key is defined. + +\begin{codelisting} +static void * const navigationItemKey = (void *)&navigationItemKey; + +- (void)setNavigationItem:(UINavigationItem *)navigationItem +{ + objc_setAssociatedObject(self, + navigationItemKey, + navigationItem, + OBJC_ASSOCIATION_RETAIN_NONATOMIC); +} + +- (UINavigationItem *)navigationItem +{ + UINavigationItem * navigationItem = objc_getAssociatedObject(self, navigationItemKey); + if (navigationItem == nil) { + navigationItem = [[UINavigationItem alloc] init]; + self.navigationItem = navigationItem; + } + return navigationItem; +} +\end{codelisting} + + \end{document}