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
60
Александр Заозерзский "Сферическое качество кода в вакууме"
DotNetRu
December 16, 2019
Tweet
Share
More Decks by DotNetRu
See All by DotNetRu
Кирилл Лихтарович «Версионирование и кодогенерация в REST API»
dotnetru
0
190
Дмитрий Бабушкин «Мержилка .sln: быстро и надёжно, без UI и юнит-тестов»
dotnetru
0
120
Артём Микулич «Как интегрироваться с (не-)надёжным third-party API при помощи Polly»
dotnetru
0
120
Иван Патудин «gRPC и его реализация в .NET Core»
dotnetru
0
430
Дмитрий Павлов «Greenplum: Быстро, параллельно, консистентно»
dotnetru
0
230
Филипп Бочаров «Распределенная трассировка Jaeger в .NET»
dotnetru
0
260
Андрей Сергеев "Вопросы nullabilily в платформе .NET, применение функционального подхода в разработке с использованием типов Unit, Tagged Union, Optional, Result, разделение исключительных ситуаций и ожидаемых результатов при обработке ошибок."
dotnetru
0
130
Павел Московой "Работа с HTTP в платформе .NET, собственный движок для работы с HTTP, использующий функциональный подход на основе типа Result для обработки HTTP-ответа вместо исключений."
dotnetru
0
100
Сергей Огородников "Практика построения сервисов на основе ViennaNET"
dotnetru
0
100
Other Decks in Education
See All in Education
Multimodal Interaction - Lecture 3 - Next Generation User Interfaces (4018166FNR)
signer
PRO
0
1k
Sähköiset kyselyt, kokeet ja arviointi
matleenalaakso
1
16k
Data Processing and Visualisation Frameworks - Lecture 6 - Information Visualisation (4019538FNR)
signer
PRO
1
1.7k
令和6年度 無料トライアルキャンペーン説明会
asial_edu
0
560
@ngrx/signals
yannickbaron
0
130
Visualisation Techniques - Lecture 8 - Information Visualisation (4019538FNR)
signer
PRO
0
1.7k
Родина моя Беларусь в лицах
programmer_sch2np
0
150
20240319AJG
tosseto
0
290
Padlet opetuksessa
matleenalaakso
3
11k
Earthquake and Disaster Prevention Information for UTokyo International Students
utokyoissr2360
0
610
墓までもっていくはずだった話
takuro_nakajima
PRO
0
1.3k
Virtual and Augmented Reality - Lecture 8 - Next Generation User Interfaces (4018166FNR)
signer
PRO
0
1.2k
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
153
14k
From Idea to $5000 a Month in 5 Months
shpigford
377
45k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
219
21k
RailsConf 2023
tenderlove
1
530
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
19
1.9k
Debugging Ruby Performance
tmm1
69
11k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
5
1.5k
Robots, Beer and Maslow
schacon
PRO
154
7.9k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
8
8.3k
Clear Off the Table
cherdarchuk
82
310k
What’s in a name? Adding method to the madness
productmarketing
PRO
15
2.6k
A better future with KSS
kneath
230
16k
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