Skip to content

Coding style

Den Ree edited this page Mar 19, 2017 · 56 revisions

📒 Содержание

Основные положения

Оформление при работе с git

Работа с кодом

Основные положения

В своем коде следуйте этим guidelines

  • Не используйте сокращения!
  • В проекте используется Indentation - 2 ‼️ для Tab width, Indent width

Оформление при работе с git

Все git commit проходят code review

К merge принимаются:

  • Коммиты только warnings ⚠️ на TODO и FIXME от SwiftLint (В release допускаются без warnings)
  • Не допускаются к git commit пустые изменения - для отмены используйте discard hunk См.примеры
  • При создании новой ветки указываем тип таски/id таски/краткое описание
  • PR с небольшим количеством изменений, точное число вам подскажет git hook 😉

Правила оформления pull request

  1. Название задачи и ссылка в трелло См.примеры
  2. Описание, что было сделано
  3. На что обратить внимание, как тестировать
  4. (Optional) Связанные таски
  5. (Optional) При разбиении пул-реквеста указать поэтапный список реализации

Шаблон можете посмотреть тут

Примеры

  • Создание ветки Задача в трелло -> https://trello.com/c/*oIO4hMDV*/events-screen Ветка -> feature/*oIO4hMDV*/add-event-screen

  • Пустые имения Пробелы, удаления и вставки кода без изменений и т.д.

Работа с кодом

Правила о названиях

  • Controller — это то место, где нет выполняемой логики, но есть взаимодействие разных классов
  • Учитываете следующее при названии протоколов ☟
  • Protocols that describe what something is should read as nouns (e.g. Collection).

  • Protocols that describe a capability should be named using the suffixes able, ible, or ing (e.g. Equatable, ProgressReporting).

  • Для расширений <название типа>+<существительное компонента с большой буквы> См.примеры

Структура проекта должна совпадать со структурой файлов ‼️

Примеры

  • Создание extensions для String String+Localization, используем путь

Extensions/Foundation/String/String+ Localization.swift

Стили проекта

В проекте используются шрифты, цвета только те, которые уже заданы в extensions

  • Шрифт задаются через enum UIFont.FontType следующим образом ☞ UIFont.appFont(.gothamProMedium(size: 14))
  • Цвета задаются через enum UIColor. ColorType следующим образом ☞ UIColor(.grey)