Все правила из гайдлайна на Swift также действуют и на SwiftUI
- Название UI-компонентов должно иметь суффикс, относящийся к типу SwiftUI-компонента. Например: UserView, BlueButton, VerticalGrid, SortableList
- Не рекомендуется использовать @EnvironmentObject по той же причине, что и использование Force Unwrapping
- Не рекомендуется писать логику во View
- Если тело View более 50 строк, то рекомендуется выносить части в вычисляемые переменные или другие кастомные View
- Рекомендуется выносить содержимое ForEach
- Типы (enum/struct) в порядке доступа от наиболее открытого к закрытому (open, public, internal, fileprivate, private)
- Константы и переменные (let/var) в порядке врапперов (Environment, ObservedObject, StateObject, Binding, State, без враппера) и доступа
- Инициализаторы
- Приватные методы
Пример корректного порядка свойств внутри View:
struct MyView: some View {
enum { }
struct { }
private enum { }
private struct { }
let
var
@Environment var
@ObservedObject var
@StateObject var
@Binding var
@State var
var body: some View { }
private let
private var
@Environment private var
@ObservedObject private var
@StateObject private var
@Binding private var
@State private var
init() { }
private func () { }
}