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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
DotNetRu
December 16, 2019
Education
68
0
Share
Александр Заозерзский "Сферическое качество кода в вакууме"
DotNetRu
December 16, 2019
More Decks by DotNetRu
See All by DotNetRu
Кирилл Лихтарович «Версионирование и кодогенерация в REST API»
dotnetru
0
280
Дмитрий Бабушкин «Мержилка .sln: быстро и надёжно, без UI и юнит-тестов»
dotnetru
0
200
Артём Микулич «Как интегрироваться с (не-)надёжным third-party API при помощи Polly»
dotnetru
0
190
Иван Патудин «gRPC и его реализация в .NET Core»
dotnetru
0
590
Дмитрий Павлов «Greenplum: Быстро, параллельно, консистентно»
dotnetru
0
340
Филипп Бочаров «Распределенная трассировка Jaeger в .NET»
dotnetru
0
370
Андрей Сергеев "Вопросы nullabilily в платформе .NET, применение функционального подхода в разработке с использованием типов Unit, Tagged Union, Optional, Result, разделение исключительных ситуаций и ожидаемых результатов при обработке ошибок."
dotnetru
0
170
Павел Московой "Работа с HTTP в платформе .NET, собственный движок для работы с HTTP, использующий функциональный подход на основе типа Result для обработки HTTP-ответа вместо исключений."
dotnetru
0
160
Сергей Огородников "Практика построения сервисов на основе ViennaNET"
dotnetru
0
170
Other Decks in Education
See All in Education
ブランチ操作 / 02-a-branch
kaityo256
PRO
0
230
この講義について / 00-setup
kaityo256
PRO
2
290
Tangible, Embedded and Embodied Interaction - Lecture 7 - Next Generation User Interfaces (4018166FNR)
signer
PRO
0
2.1k
(2026) Quelle(s) mathématique(s) dans la "grande" culture?
mansuy
1
100
タイムマシンのつくりかた
nomizone
3
1.2k
アントレプレナーシップ教育機構 概要
sciencetokyo
PRO
0
1.2k
Introduction - Lecture 1 - Advanced Topics in Big Data (4023256FNR)
signer
PRO
2
2.3k
演習:GitHubの基本操作 / 06-github-basic
kaityo256
PRO
0
250
Postcards
gabrielramirezv
0
170
演習:Gitの基本操作 / 04-git-basic
kaityo256
PRO
0
410
Introduction - Lecture 1 - Information Visualisation (4019538FNR)
signer
PRO
0
5.4k
Data Presentation - Lecture 5 - Information Visualisation (4019538FNR)
signer
PRO
1
3k
Featured
See All Featured
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
440
Amusing Abliteration
ianozsvald
1
150
A designer walks into a library…
pauljervisheath
211
24k
Optimizing for Happiness
mojombo
378
71k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
The Cult of Friendly URLs
andyhume
79
6.8k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.8k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
The World Runs on Bad Software
bkeepers
PRO
72
12k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
370
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
700
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