BestPractice

  • Использовать в работе  практику Git Flow  (ветки feature/ bugfix/ release/ hotfix/) Git Flow
  • Использовать единый Подход к тестированию
  • Использовать единый code style C# 
  • Для общего единообразия форматирования используем EditorConfig
    В решение добавляем файл .editorconfig с настройками (в VS 2017 включена поддержка из коробки)
    Для применения настроек на лету устанавливаем плагин для нужного редактора.Базовый EditorConfig[*]end_of_line = crlfinsert_final_newline = true [*.cs]charset = utf-8-bom
  • Использовать дефолтный конфиг стилей в VS, опционально настроить автоприменение стилей при сохранении файла (коммитить только после применения стилей).
  • Использовать основные элементы контрактного программирования (обязательное указание на всех входных и выходных параметрах)  NuGet пакет
    • NotNull
    • CanBeNull
    • ItemNotNull (аналог NotNull  для Task<T>)
    • ItemCanBeNull (для CanBeNull  Task<T>)
  • Классы внутри проекта, которые отвечают за внутреннюю реализацию делать internal class(скрывать реализацию).
  • Избавиться в коде от обработки общего Exception, исключения должны быть конкретными для текущего контекста (кроме редких случаев и базовых обработчиков)
  • Максимально уходить от классов с абстрактными названиями *Helper. Использовать более конкретные названия, например ProfileValidatorFacebookProviderAvatarFileManagerAccountProfileFactory и др.
  • GitLab  должен автоматически запускать тесты
  • Регулярно обновлять NuGet пакеты (1 раз в месяц)
  • Регулярно очищать проекты от warnings (перед слиянием с develop)  
  • Использовать 5 часов в неделю (1 час в день) на интересные задачи (незапланированные) в рамках проекта (изучение/внедрение новых практик, рефакторинг и т.д.)

Добавить комментарий