-
Notifications
You must be signed in to change notification settings - Fork 12
Standard File Organization
The goal is to standardize the file organization in a project. In order to keep all projects in alignment, please arrange the folder structure similar to the following organization.
ROOT
ββ README.md
ββ Sources
ββ Application
ββ AppDelegate
ββ Constants
ββ Entitlements
ββ Localizations
ββ Resources
ββ Extensions
ββ Models
ββ Modules
ββ Protocols
ββ Services
ββ Network
ββ ...
ββ Utilities
ββ Logger
ββ ...
ββ Views
ββ Tests
ββ Unit Tests
ββ UI Tests
README.md
file is supposed to be the first file that is opened when opening the project.
It is nice to provide developers an overview of the whole project.
For example:
- What we do - What is the main feature of the project - How to set up the project - ...
This README.md
file is optional.
This folder contains the main source code of the project.
This folder contains the testing code of the project.
There are two main types of testing:
- Unit Testing
- UI Testing.
Note: In terms of the detailed implementation inside Unit Tests
and UI Tests
folders, you can define a specific way for your project. In this wiki, we just generalize the top lever folder structure.
For example: I create subfolders to test for `Modules`, `Services`, etc. as same as what I have in `Sources` folder.
ββ Tests ββ Unit Tests ββ Modules ββ Services ββ ...
For example: I try to split the testing flow and the test usecases into `Testing flow` and `Testing usecases` folder.
ββ Tests ββ UI Tests ββ Testing flows ββ Testing usecases ββ ...
This project is maintained and funded by Nimble.