This project contains an iOS & iPadOS mobile application.
- We follow the Swift naming convention for acronyms and initialisms:
var recordID: String var id: String var uuid: String var documentUUID: String var utf8Bytes: [UTF8.CodeUnit] var isRepresentableAsASCII = true var userSMTPServer: SecureSMTPServer
Boolproperties start withis,are,has,can,should- If a protocol exists to abstract the interface of a class (to improve testability), the protocol gets the plain name and the implementing class is prefixed with
Default, e.g.LoanDetailsCoordinatoras protocol andDefaultLoanDetailsCoordinatoras implementation. - All models should implement the
Hashableprotocol. - We use
structsfor completely immutable objects. - If a method takes too many parameters so the invocation does not neatly fit into a single line, we separate every argument onto a new line.
- All designated initializers must be declared without any default values for their parameters.
For information on the documentation syntax, check the following:
We are using /** */ for documentation blocks spanning multiple lines and /// if there's only a single line of documentation.