Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Александр Заозерзский "Сферическое качество кода в вакууме"

DotNetRu
December 16, 2019

Александр Заозерзский "Сферическое качество кода в вакууме"

DotNetRu

December 16, 2019
Tweet

More Decks by DotNetRu

Other Decks in Education

Transcript

  1. Качество программного обеспечения • Wikipedia Способность программного продукта при заданных

    условиях удовлетворять установленным или предполагаемым потребностям (ISO/IEC 25000:2014)[1]. 3
  2. Качество программного обеспечения • Том Демарко в 1999 году предлагал

    при оценке качества программного обеспечения учитывать, что «качество программного продукта является показателем того, насколько он меняет мир к лучшему». DeMarco, T., Management Can Make Quality (Im)possible, Cutter IT Summit, Boston, April 1999 4
  3. Стандарт ISO/IEC 25010:2011 (ГОСТ Р ИСО/МЭК 25010-2015) Определяют модель качества

    продукта, которая включает восемь характеристик верхнего уровня: • функциональная пригодность; • уровень производительности; • совместимость; • удобство использования (юзабилити); • надежность; • защищённость; • сопровождаемость; • переносимость (мобильность). 5
  4. Разработать быстро и качественно... Стандарты в среде разработки 1. Toolchain

    2. Форматирование 3. Naming 4. Комментарии 5. ТЗ 6. Code review 10
  5. Разработать быстро и качественно... Стандарты в голове разработчика 1. База

    знаний (пишут разработчики) a. Стандарты и соглашения b. Что? Где? 2. Идеи a. Проектирование b. Документация c. Feedback d. Реализация 12
  6. Разработать быстро и качественно... Fail FAST 1. Проектируйте риски 2.

    Roslyn Analyzers 3. Git Hooks: pre-commit 4. CI + SonarQube/FxCop/nDepend 5. xUnit 13
  7. Велосипед, быть или не быть? • Разработать с нуля •

    Разработать используя сторонние библиотеки • Frameworks • Готовое решение хорошо, но разработать самому интереснее. • Ничего не делать 16