2014-02-01 01 Евгений Тюменцев. Качественный код - миф
TRANSCRIPT
![Page 1: 2014-02-01 01 Евгений Тюменцев. Качественный код - миф](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557fa9fed8b42a331b8b4db0/html5/thumbnails/1.jpg)
01 TIKTOKCOACH.RU
Качественный код? Миф!
![Page 2: 2014-02-01 01 Евгений Тюменцев. Качественный код - миф](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557fa9fed8b42a331b8b4db0/html5/thumbnails/2.jpg)
02 TIKTOKCOACH.RU
Докладчик
Тюменцев Евгений
Разработка кросс-платформенных приложений
Руководство отделом разработки ПО в 40 человек
Тех. директор ИТ-компании в 70 человек
Управляющий партнер стартапа “Тик-Так Коуч”
![Page 3: 2014-02-01 01 Евгений Тюменцев. Качественный код - миф](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557fa9fed8b42a331b8b4db0/html5/thumbnails/3.jpg)
03 TIKTOKCOACH.RU
Качественного кода не существует!
![Page 4: 2014-02-01 01 Евгений Тюменцев. Качественный код - миф](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557fa9fed8b42a331b8b4db0/html5/thumbnails/4.jpg)
04 TIKTOKCOACH.RU
Спасибо за внимание
![Page 5: 2014-02-01 01 Евгений Тюменцев. Качественный код - миф](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557fa9fed8b42a331b8b4db0/html5/thumbnails/5.jpg)
05 TIKTOKCOACH.RU
Определение качества ПО ISO 9126
Качество ПО – совокупная характеристика ПО с учетом следующих составляющих: – Надежность
– Сопровождаемость
– Практичность
– Эффективность
– Мобильность
– Функциональность
![Page 6: 2014-02-01 01 Евгений Тюменцев. Качественный код - миф](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557fa9fed8b42a331b8b4db0/html5/thumbnails/6.jpg)
06 TIKTOKCOACH.RU
Определение качества ПО Надежность – набор атрибутов, относящихся к способности
ПО сохранять свой уровень качества функционирования в установленных условиях за определенный период времени
• Уровень завершенности (отсутствие ошибок)
• Устойчивость к дефектам
• Восстанавливаемость
• Доступность
• Готовность
![Page 7: 2014-02-01 01 Евгений Тюменцев. Качественный код - миф](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557fa9fed8b42a331b8b4db0/html5/thumbnails/7.jpg)
07 TIKTOKCOACH.RU
Определение качества ПО Мобильность — набор атрибутов, относящихся к
способности ПО быть перенесенным из одного окружения в другое
• Адаптируемость
• Простота установки
• Сосуществование
• Замещаемость
![Page 8: 2014-02-01 01 Евгений Тюменцев. Качественный код - миф](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557fa9fed8b42a331b8b4db0/html5/thumbnails/8.jpg)
08 TIKTOKCOACH.RU
Определение качества ПО Сопровождаемость - набор атрибутов, относящихся к
объему работ, требуемых для проведения конкретных изменений (модификаций)
• Удобство анализа
• Изменяемость
• Стабильность
• Тестируемость
![Page 9: 2014-02-01 01 Евгений Тюменцев. Качественный код - миф](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557fa9fed8b42a331b8b4db0/html5/thumbnails/9.jpg)
09 TIKTOKCOACH.RU
Определение качества ПО Практичность (применимость) — набор атрибутов,
относящихся к объему работ, требуемых для исполнения и индивидуальной оценки такого исполнения определенным или предполагаемым кругом пользователей
• Понятность
• Простота использования
• Изучаемость
• Привлекательность
![Page 10: 2014-02-01 01 Евгений Тюменцев. Качественный код - миф](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557fa9fed8b42a331b8b4db0/html5/thumbnails/10.jpg)
10 TIKTOKCOACH.RU
Определение качества ПО Эффективность — набор атрибутов, относящихся к
соотношению между уровнем качества функционирования ПО и объемом используемых ресурсов при установленных условиях
• Временная эффективность • Используемость ресурсов
![Page 11: 2014-02-01 01 Евгений Тюменцев. Качественный код - миф](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557fa9fed8b42a331b8b4db0/html5/thumbnails/11.jpg)
11 TIKTOKCOACH.RU
Определение качества ПО Функциональность — набор атрибутов характеризующий,
соответствие функциональных возможностей ПО набору требуемой пользователем функциональности
• Пригодность к применению
• Корректность
• Способность к взаимодействию
• Защищенность
![Page 12: 2014-02-01 01 Евгений Тюменцев. Качественный код - миф](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557fa9fed8b42a331b8b4db0/html5/thumbnails/12.jpg)
12 TIKTOKCOACH.RU
Принципы мышления
Группировка Обобщение
![Page 13: 2014-02-01 01 Евгений Тюменцев. Качественный код - миф](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557fa9fed8b42a331b8b4db0/html5/thumbnails/13.jpg)
13 TIKTOKCOACH.RU
Абстракция
Абстракция выделяет существенные характеристики некоторого объекта, отличающие его от всех других видов объектов.
(Гради Буч)
![Page 14: 2014-02-01 01 Евгений Тюменцев. Качественный код - миф](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557fa9fed8b42a331b8b4db0/html5/thumbnails/14.jpg)
14 TIKTOKCOACH.RU
Примеры абстракций
Сфера применения
• Процедурное программирование
Абстракция
• Процедура
![Page 15: 2014-02-01 01 Евгений Тюменцев. Качественный код - миф](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557fa9fed8b42a331b8b4db0/html5/thumbnails/15.jpg)
15 TIKTOKCOACH.RU
Примеры абстракций
Сфера применения
• Процедурное программирование
• ООП
Абстракция
• Процедура
• Класс
![Page 16: 2014-02-01 01 Евгений Тюменцев. Качественный код - миф](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557fa9fed8b42a331b8b4db0/html5/thumbnails/16.jpg)
16 TIKTOKCOACH.RU
Примеры абстракций
Сфера применения
• Процедурное программирование
• ООП
• Предметная область
Абстракция
• Процедура
• Класс
• Абстракция сущности
![Page 17: 2014-02-01 01 Евгений Тюменцев. Качественный код - миф](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557fa9fed8b42a331b8b4db0/html5/thumbnails/17.jpg)
17 TIKTOKCOACH.RU
Примеры абстракций
Сфера применения
• Процедурное программирование
• ООП
• Предметная область
• Многопоточное программирование
Абстракция
• Процедура
• Класс
• Абстракция сущности
• Поток
![Page 18: 2014-02-01 01 Евгений Тюменцев. Качественный код - миф](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557fa9fed8b42a331b8b4db0/html5/thumbnails/18.jpg)
18 TIKTOKCOACH.RU
Защитный механизм
Абстракция – это то, что не позволяет нам сойти с ума и освоить большой объем информации
![Page 19: 2014-02-01 01 Евгений Тюменцев. Качественный код - миф](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557fa9fed8b42a331b8b4db0/html5/thumbnails/19.jpg)
19 TIKTOKCOACH.RU
Пираха – самые счастливые
3 гласных, 8 согласных Нет цифр Нет религии, ремесел, искусства Помнят только то, что помнит старейший живущий
![Page 20: 2014-02-01 01 Евгений Тюменцев. Качественный код - миф](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557fa9fed8b42a331b8b4db0/html5/thumbnails/20.jpg)
20 TIKTOKCOACH.RU
Проблема индукции
• Делаются выводы на основе конечного опыта
• Знания носят предельный характер
Курица Б. Рассела
![Page 21: 2014-02-01 01 Евгений Тюменцев. Качественный код - миф](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557fa9fed8b42a331b8b4db0/html5/thumbnails/21.jpg)
21 TIKTOKCOACH.RU
Искажение нарратива
Н. Талеб «Черный лебедь» Неспособность воспринимать факты без их интерпретации
![Page 22: 2014-02-01 01 Евгений Тюменцев. Качественный код - миф](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557fa9fed8b42a331b8b4db0/html5/thumbnails/22.jpg)
22 TIKTOKCOACH.RU
Ареал-специфичность
Использование тех или иных абстракций и связей между ними зависит от контекста
![Page 23: 2014-02-01 01 Евгений Тюменцев. Качественный код - миф](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557fa9fed8b42a331b8b4db0/html5/thumbnails/23.jpg)
23 TIKTOKCOACH.RU
Качественного кода не существует!
![Page 24: 2014-02-01 01 Евгений Тюменцев. Качественный код - миф](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557fa9fed8b42a331b8b4db0/html5/thumbnails/24.jpg)
24 TIKTOKCOACH.RU
Объяснение постфактум
Программирование – вещь иррациональная Качество кода придумали как рациональное объяснение иррационального
![Page 25: 2014-02-01 01 Евгений Тюменцев. Качественный код - миф](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557fa9fed8b42a331b8b4db0/html5/thumbnails/25.jpg)
25 TIKTOKCOACH.RU
Культурные традиции
![Page 26: 2014-02-01 01 Евгений Тюменцев. Качественный код - миф](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557fa9fed8b42a331b8b4db0/html5/thumbnails/26.jpg)
26 TIKTOKCOACH.RU
Группировка идей сверху вниз
Чтобы донести мысли до другого человека, нужно убедиться, что он группирует предметы так же как и Вы
![Page 27: 2014-02-01 01 Евгений Тюменцев. Качественный код - миф](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557fa9fed8b42a331b8b4db0/html5/thumbnails/27.jpg)
27 TIKTOKCOACH.RU
Мышление «снизу вверх»
Часто хардкод = не хочу разбираться в чужом коде
![Page 28: 2014-02-01 01 Евгений Тюменцев. Качественный код - миф](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557fa9fed8b42a331b8b4db0/html5/thumbnails/28.jpg)
28 TIKTOKCOACH.RU
Пример: список покупок Мука
Молоко Батарейки
Морковь
Апельсины
Хлеб
Масло
Яблоки
Ручка
Сок
Детская игрушка
Картофель
Детские тетради
Сметана
Сахар
Виноград
Вода
![Page 29: 2014-02-01 01 Евгений Тюменцев. Качественный код - миф](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557fa9fed8b42a331b8b4db0/html5/thumbnails/29.jpg)
29 TIKTOKCOACH.RU
Группировка
Батарейки Детские тетради Ручка Вода Сок Сахар Морковь Апельсины Яблоки Виноград Картофель
Масло
Хлеб
Молоко
Сметана
Мука
Детская игрушка
![Page 30: 2014-02-01 01 Евгений Тюменцев. Качественный код - миф](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557fa9fed8b42a331b8b4db0/html5/thumbnails/30.jpg)
30 TIKTOKCOACH.RU
Копи-паст непобедим!!!
Ассемблер –> if, for, switch Алгоритмы -> процедуры Процедуры -> классы Собственный код -> библиотеки Компьютер -> облако
![Page 31: 2014-02-01 01 Евгений Тюменцев. Качественный код - миф](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557fa9fed8b42a331b8b4db0/html5/thumbnails/31.jpg)
31 TIKTOKCOACH.RU
Почему?
Дублирование выходит за рамки применяемой платформы
![Page 32: 2014-02-01 01 Евгений Тюменцев. Качественный код - миф](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557fa9fed8b42a331b8b4db0/html5/thumbnails/32.jpg)
32 TIKTOKCOACH.RU
Почему?
Дублирование выходит за рамки применяемой платформы
Дублирование выходит за рамки понимания программиста
![Page 33: 2014-02-01 01 Евгений Тюменцев. Качественный код - миф](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557fa9fed8b42a331b8b4db0/html5/thumbnails/33.jpg)
33 TIKTOKCOACH.COM
Эффект Даннинга-Крюгера
![Page 34: 2014-02-01 01 Евгений Тюменцев. Качественный код - миф](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557fa9fed8b42a331b8b4db0/html5/thumbnails/34.jpg)
34 TIKTOKCOACH.RU
Дублировать или не дублировать? Нижний
Скорость, контроль, доп. возможности
Верхний
гибкость, продуктивность
![Page 35: 2014-02-01 01 Евгений Тюменцев. Качественный код - миф](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557fa9fed8b42a331b8b4db0/html5/thumbnails/35.jpg)
35 TIKTOKCOACH.RU
Говнокод как оценка своего опыта
Если Ваш код Вам кажется качественным, значит Вы еще не собрали все грабли
![Page 36: 2014-02-01 01 Евгений Тюменцев. Качественный код - миф](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557fa9fed8b42a331b8b4db0/html5/thumbnails/36.jpg)
36 TIKTOKCOACH.RU
Пример 1
![Page 37: 2014-02-01 01 Евгений Тюменцев. Качественный код - миф](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557fa9fed8b42a331b8b4db0/html5/thumbnails/37.jpg)
37 TIKTOKCOACH.RU
Пример 2
![Page 38: 2014-02-01 01 Евгений Тюменцев. Качественный код - миф](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557fa9fed8b42a331b8b4db0/html5/thumbnails/38.jpg)
38 TIKTOKCOACH.RU
Пример 3
![Page 39: 2014-02-01 01 Евгений Тюменцев. Качественный код - миф](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557fa9fed8b42a331b8b4db0/html5/thumbnails/39.jpg)
39 TIKTOKCOACH.COM
The Open-Closed Principle
Rob Martin (Uncle Bob)
![Page 40: 2014-02-01 01 Евгений Тюменцев. Качественный код - миф](https://reader033.vdocuments.mx/reader033/viewer/2022060116/557fa9fed8b42a331b8b4db0/html5/thumbnails/40.jpg)
40 TIKTOKCOACH.RU
Спасибо
Тюменцев Евгений
Звоните: +7 913 150 22 04
Пишите: [email protected]
Читайте: @tiktokcoach