docs: the Swift rule covers extension members, not file-scope functions (#7904)

This commit is contained in:
Evgeny @ SimpleX Chat authored and GitHub committed 2026-10-27 10:09:16 +00:00
1 parent 91675ec5ab
commit 6bc1c692b5
1 file changed
+4 -3
+4 -3
View File
@@ -2,11 +2,12 @@
## Swift code
- Functions and computed properties are declared in the body of the type they belong to, never at file scope or in an extension of a type declared in this project.
- A member of a SimpleXChat type is declared in that type when everything it uses is available in SimpleXChat. A member that depends on the app is a static member of the app type that uses it; when several app types use it, of the type that names its concept.
- An extension is written only where Swift has no other form:
- a SwiftUI environment value, which SwiftUI requires as a property of EnvironmentValues;
- a conformance, required by an API, of a type declared in another module.
- Members of a type declared in this project are declared in the body of that type, not in an extension.
- A member of a SimpleXChat type is declared in that type; a value it needs from the app is passed as a parameter.
- A view modifier is a ViewModifier type applied with `.modifier(_:)`.
- A custom alignment is a static constant of a non-generic type that uses it.
- A new member is declared in its type even when the file already extends that type. Existing extensions and file-scope functions are moved only in a task that concerns them.
- Functions and constants at file scope are kept at file scope.
- A new member is declared in its type even when the file already extends that type. Existing extensions are moved only in a task that concerns them.