Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
01 
TIKTOKCOACH.RU 
Качественный код? Миф!
02 
TIKTOKCOACH.RU 
Докладчик 
Тюменцев Евгений 
Разработка кросс-платформенных приложений 
Руководство отделом разработки...
03 
TIKTOKCOACH.RU 
Качественного кода не существует!
04 
TIKTOKCOACH.RU 
Спасибо за внимание
05 
TIKTOKCOACH.RU 
Определение качества ПО 
ISO 9126 
Качество ПО – совокупная характеристика ПО с учетом следующих соста...
06 
TIKTOKCOACH.RU 
Определение качества ПО 
Надежность – набор атрибутов, относящихся к способности ПО сохранять свой уро...
07 
TIKTOKCOACH.RU 
Определение качества ПО 
Мобильность — набор атрибутов, относящихся к способности ПО быть перенесенным...
08 
TIKTOKCOACH.RU 
Определение качества ПО 
Сопровождаемость - набор атрибутов, относящихся к объему работ, требуемых для...
09 
TIKTOKCOACH.RU 
Определение качества ПО 
Практичность (применимость) — набор атрибутов, относящихся к объему работ, тр...
10 
TIKTOKCOACH.RU 
Определение качества ПО 
Эффективность — набор атрибутов, относящихся к соотношению между уровнем каче...
11 
TIKTOKCOACH.RU 
Определение качества ПО 
Функциональность — набор атрибутов характеризующий, соответствие функциональн...
12 
TIKTOKCOACH.RU 
Принципы мышления 
Группировка 
Обобщение
13 
TIKTOKCOACH.RU 
Абстракция 
Абстракция выделяет существенные характеристики некоторого объекта, отличающие его от всех...
14 
TIKTOKCOACH.RU 
Примеры абстракций 
Сфера применения 
•Процедурное программирование 
Абстракция 
•Процедура
15 
TIKTOKCOACH.RU 
Примеры абстракций 
Сфера применения 
•Процедурное программирование 
•ООП 
Абстракция 
•Процедура 
•Кл...
16 
TIKTOKCOACH.RU 
Примеры абстракций 
Сфера применения 
•Процедурное программирование 
•ООП 
•Предметная область 
Абстра...
17 
TIKTOKCOACH.RU 
Примеры абстракций 
Сфера применения 
•Процедурное программирование 
•ООП 
•Предметная область 
•Много...
18 
TIKTOKCOACH.RU 
Защитный механизм 
Абстракция – это то, что не позволяет нам сойти с ума и освоить большой объем инфор...
19 
TIKTOKCOACH.RU 
Пираха – самые счастливые 
3 гласных, 8 согласных 
Нет цифр 
Нет религии, ремесел, искусства 
Помнят т...
20 
TIKTOKCOACH.RU 
Проблема индукции 
•Делаются выводы на основе конечного опыта 
•Знания носят предельный характер Куриц...
21 
TIKTOKCOACH.RU 
Искажение нарратива 
Н. Талеб «Черный лебедь» 
Неспособность воспринимать факты без их интерпретации
22 
TIKTOKCOACH.RU 
Ареал-специфичность 
Использование тех или иных абстракций и связей между ними зависит от контекста
23 
TIKTOKCOACH.RU 
Качественного кода не существует!
24 
TIKTOKCOACH.RU 
Объяснение постфактум 
Программирование – вещь иррациональная Качество кода придумали как рациональное...
25 
TIKTOKCOACH.RU 
Культурные традиции
26 
TIKTOKCOACH.RU 
Группировка идей сверху вниз 
Чтобы донести мысли до другого человека, нужно убедиться, что он группир...
27 
TIKTOKCOACH.RU 
Мышление «снизу вверх» 
Часто 
хардкод = не хочу разбираться в чужом коде
28 
TIKTOKCOACH.RU 
Пример: список покупок 
Мука 
Молоко 
Батарейки 
Морковь 
Апельсины 
Хлеб 
Масло 
Яблоки 
Ручка 
Сок 
...
29 
TIKTOKCOACH.RU 
Группировка 
Батарейки 
Детские тетради 
Ручка 
Вода 
Сок 
Сахар 
Морковь 
Апельсины 
Яблоки 
Виноград...
30 
TIKTOKCOACH.RU 
Копи-паст непобедим!!! 
Ассемблер –> if, for, switch 
Алгоритмы -> процедуры 
Процедуры -> классы 
Соб...
31 
TIKTOKCOACH.RU 
Почему? 
Дублирование выходит за рамки применяемой платформы
32 
TIKTOKCOACH.RU 
Почему? 
Дублирование выходит за рамки применяемой платформы 
Дублирование выходит за рамки понимания ...
33 
TIKTOKCOACH.COM 
Эффект Даннинга-Крюгера
34 
TIKTOKCOACH.RU 
Дублировать или не дублировать? 
Нижний 
Скорость, 
контроль, 
доп. возможности 
Верхний 
гибкость, 
п...
35 
TIKTOKCOACH.RU 
Говнокод как оценка своего опыта 
Если Ваш код Вам кажется качественным, значит Вы еще не собрали все ...
36 
TIKTOKCOACH.RU 
Пример 1
37 
TIKTOKCOACH.RU 
Пример 2
38 
TIKTOKCOACH.RU 
Пример 3
39 
TIKTOKCOACH.COM 
The Open-Closed Principle 
Rob Martin (Uncle Bob)
40 
TIKTOKCOACH.RU 
Спасибо 
Тюменцев Евгений 
Звоните: +7 913 150 22 04 
Пишите: etyumentcev@tiktokcoach.ru 
Читайте: @ti...
Próxima SlideShare
Cargando en…5
×

Качественный код? Миф!

500 visualizaciones

Publicado el

Многие программисты прилагают много усилий, чтобы писать с их точки зрения качественный код. Однако в силу проблемы индукции, понимание хорошего кода целиком зависит от конкретного опыта программиста. Как следствие, один и тот же код для одного человека может казаться вершиной качества, а для другого - говнокодом. Как только Вы перестали видеть проблемы в коде - это не значит, что код стал качественным, это всего лишь значит, что уровень проблем вышел за рамки Вашего понимания.

Это презентация доклада с Омского ИТ-субботника. Ссылка на видео самого доклада http://www.youtube.com/watch?v=JzxJUrvoO1Y

Publicado en: Software
  • Sé el primero en comentar

Качественный код? Миф!

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

×