Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Александр Заозерзский "Сферическое качество код...
Search
DotNetRu
December 16, 2019
Education
0
65
Александр Заозерзский "Сферическое качество кода в вакууме"
DotNetRu
December 16, 2019
Tweet
Share
More Decks by DotNetRu
See All by DotNetRu
Кирилл Лихтарович «Версионирование и кодогенерация в REST API»
dotnetru
0
250
Дмитрий Бабушкин «Мержилка .sln: быстро и надёжно, без UI и юнит-тестов»
dotnetru
0
170
Артём Микулич «Как интегрироваться с (не-)надёжным third-party API при помощи Polly»
dotnetru
0
150
Иван Патудин «gRPC и его реализация в .NET Core»
dotnetru
0
550
Дмитрий Павлов «Greenplum: Быстро, параллельно, консистентно»
dotnetru
0
300
Филипп Бочаров «Распределенная трассировка Jaeger в .NET»
dotnetru
0
330
Андрей Сергеев "Вопросы nullabilily в платформе .NET, применение функционального подхода в разработке с использованием типов Unit, Tagged Union, Optional, Result, разделение исключительных ситуаций и ожидаемых результатов при обработке ошибок."
dotnetru
0
150
Павел Московой "Работа с HTTP в платформе .NET, собственный движок для работы с HTTP, использующий функциональный подход на основе типа Result для обработки HTTP-ответа вместо исключений."
dotnetru
0
130
Сергей Огородников "Практика построения сервисов на основе ViennaNET"
dotnetru
0
150
Other Decks in Education
See All in Education
Virtual and Augmented Reality - Lecture 8 - Next Generation User Interfaces (4018166FNR)
signer
PRO
0
1.7k
今も熱いもの!魂を揺さぶる戦士の儀式:マオリ族のハカ
shubox
0
210
日本の教育の未来 を考える テクノロジーは教育をどのように変えるのか
kzkmaeda
1
200
(キラキラ)人事教育担当のつらみ~教育担当として知っておくポイント~
masakiokuda
0
100
Data Physicalisation - Lecture 9 - Next Generation User Interfaces (4018166FNR)
signer
PRO
0
430
Info Session MSc Computer Science & MSc Applied Informatics
signer
PRO
0
180
生成AIとの上手な付き合い方【公開版】/ How to Get Along Well with Generative AI (Public Version)
handlename
0
460
Gaps in Therapy in IBD - IBDInnovate 2025 CCF
higgi13425
0
480
Common STIs in London: Symptoms, Risks & Prevention
medicaldental
0
130
OJTに夢を見すぎていませんか? ロールプレイ研修の試行錯誤/tryanderror-in-roleplaying-training
takipone
1
140
諸外国の理科カリキュラムにおけるビッグアイデアの構造比較
arumakan
0
300
Dashboards - Lecture 11 - Information Visualisation (4019538FNR)
signer
PRO
1
2k
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.8k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Making Projects Easy
brettharned
116
6.2k
Music & Morning Musume
bryan
46
6.6k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
Thoughts on Productivity
jonyablonski
69
4.7k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
53k
Transcript
Сферическое качество кода в вакууме или как балансировать качество ПО
и цели бизнеса Александр Заозерский Комтек 1
Для кого доклад? • Разработчики; • Тимлиды; • Бизнес. 2
Качество программного обеспечения • Wikipedia Способность программного продукта при заданных
условиях удовлетворять установленным или предполагаемым потребностям (ISO/IEC 25000:2014)[1]. 3
Качество программного обеспечения • Том Демарко в 1999 году предлагал
при оценке качества программного обеспечения учитывать, что «качество программного продукта является показателем того, насколько он меняет мир к лучшему». DeMarco, T., Management Can Make Quality (Im)possible, Cutter IT Summit, Boston, April 1999 4
Стандарт ISO/IEC 25010:2011 (ГОСТ Р ИСО/МЭК 25010-2015) Определяют модель качества
продукта, которая включает восемь характеристик верхнего уровня: • функциональная пригодность; • уровень производительности; • совместимость; • удобство использования (юзабилити); • надежность; • защищённость; • сопровождаемость; • переносимость (мобильность). 5
Сопровождаемость ПО 6
Чего хочет Бизнес? 1. Деньги 2. Продукт a. Быстро b.
Дешево c. Качественно 7
Баланс 8
Разработать быстро и качественно... Continuous Integration/Delivery 1. Сборка 2. Проверка
3. Инспекция кода 4. Деплой 9
Разработать быстро и качественно... Стандарты в среде разработки 1. Toolchain
2. Форматирование 3. Naming 4. Комментарии 5. ТЗ 6. Code review 10
Разработать быстро и качественно... Code Review 1. Что проверять? 2.
Менторинг 3. Скорость 11
Разработать быстро и качественно... Стандарты в голове разработчика 1. База
знаний (пишут разработчики) a. Стандарты и соглашения b. Что? Где? 2. Идеи a. Проектирование b. Документация c. Feedback d. Реализация 12
Разработать быстро и качественно... Fail FAST 1. Проектируйте риски 2.
Roslyn Analyzers 3. Git Hooks: pre-commit 4. CI + SonarQube/FxCop/nDepend 5. xUnit 13
Разработать быстро и качественно... Проверка на внимательность Что такое Качество
ПО? 14
Как бизнесу сказать про качество? 1. CI 2. Unit tests
3. Devops 15
Велосипед, быть или не быть? • Разработать с нуля •
Разработать используя сторонние библиотеки • Frameworks • Готовое решение хорошо, но разработать самому интереснее. • Ничего не делать 16
Автоматизация Форматирование .gitconfig Editorconfig Resharper Team Shared settings 17
Ссылки 18
Спасибо за внимание • Вопросы • Контакты ◦ Telegram: @alexandryz
◦ twitter.com/alexandryz 19