This repository has been archived by the owner on Jul 2, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathpragmaMarks.m
125 lines (67 loc) · 1.83 KB
/
pragmaMarks.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
/* The Good */
// > Methods are grouped into different sections, labeled with pragma marks
// > Methods are ordered
// > Delegate protocol methods are easy to keep track of
// > Separation of class internal private methods
@implementation SomeImplementation
#pragma mark - Lifecycle
+ (instancetype)someConstructor {
return something;
}
+ (instancetype)someConstructorWithArgument:(Argument)someArgument {
return something;
}
#pragma mark - Accessors
- (void)setSomeProperty:(SomeProperty)withCustomSetter {
}
#pragma mark - SomeDelegate
- (void)someDelegateMethod {
}
- (void)someDelegateMethodNeedsYourAtention {
}
#pragma mark - SomeOtherDelegate
- (void)someOtherDelegateMethod {
}
- (void)someOtherDelegateMethodAlsoNeedsAtentionHere {
}
- (void)someOtherDelegateMethodYouWillEasilyKeepTrackOf {
}
#pragma mark - Private
- (void)somePrivateMethod {
}
- (void)someOtherPrivateMethod {
}
- (void)yetAnotherPrivateMethod {
}
@end
/* The Bad */
// > Methods have neither order nor labeling at all
// > The class feels like a bag full of unsorted stuff
// > You don't easily visualize delegation
// > Reading and finding things takes more time
@implementation MPSeatingSelectionView
+ (instancetype)someConstructor {
return something;
}
- (void)somePrivateMethod {
}
+ (instancetype)someConstructorWithArgument:(Argument)someArgument {
return something;
}
- (void)someOtherDelegateMethodYouWillHardlyKeepTrackOf {
}
- (void)yetAnotherPrivateMethod {
}
- (void)someDelegateMethod {
}
- (void)someDelegateMethodNeedsYourAtention {
}
- (void)setSomeProperty:(SomeProperty)withCustomSetter {
}
- (void)someOtherDelegateMethodAlsoNeedsAtentionHere {
}
- (void)someOtherPrivateMethod {
}
- (void)someOtherDelegateMethod {
}
@end