- 
                Notifications
    You must be signed in to change notification settings 
- Fork 571
Code guidelines
- 
Try to keep the public interfaces to classes as simple as possible—anything that can be private should be 
- 
Have very strict validation as part of constructors, then you can proceed confidently elsewhere. 
- 
Be consistent in the naming of things. e.g., it looks like "mini" and "takeover" are the names for notif types. Use those names everywhere, not "overapp", "small", "modal", etc. 
- 
Please always use . notation when accessing @properties on other objects, and [] when using methods 
- 
Internally, always use _property instead of ., unless the functionality (e.g., atomic, strong) of the property is intended 
- 
Please alphabetize imports and don’t put random newlines between them. Have a section for non-Mixpanel stuff, then a single, blank line, then a section for Mixpanel stuff. 
- 
The lib should build with both Base SDK 6 and Base SDK 7. In either case, the tests should run without errors in iPhone and iPad simulators in both iOS 6 and iOS 7. 
- 
The tests should include tests for garbage responses from the server - 
timeout 
- 
500 errors (503, 502) 
- 
empty, HTML and plain text response bodies 
- 
400 errors 
- 
invalid json 
 
- 
- 
It should pass Analyze with no warnings/errors. 
- 
It should pass QA with Leaks running and show no signs of leaking.