-
Notifications
You must be signed in to change notification settings - Fork 3
3. Project Guidelines
Massimo Savino edited this page May 25, 2017
·
6 revisions
All projects on all platforms must adhere to the following guidelines:
- Constants' handling in a separate file.
- Either be localized or be set up for future localizations.
- Extensions on native classes need to be in separate files so they are easy to find.
- All networking, analytics, and database libraries need to have wrapper classes. This is so that if we have to change the library/framework we are using (for example switching from Firebase to Realm) we only need to modify one main file rather than every use throughout the project.
- Project Wiki must contain a copy of the style guide.
- Complicated functions must have documentation.
- Work-arounds that fix bugs in native or framework SDKs must have documentation. Include a link to the SO post / Github issue / etc where the workaround was found for reference.
- Use a Gitflow set up or something similar (at the very least there must be a master branch for releases and a develop/integration branch for ongoing development).
- No breaking changes should be pushed or allowed to stay on the develop branch (they should be fixed immediately by the developer that pushed them).
- Test suite should always pass on master and develop/integration branches.
- Continuous integration needs to be set up (currently we are using Travis CI).
- Slack integrations must be set up