Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

2014-02-01 01 Евгений Тюменцев. Качественный код - миф

781 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

2014-02-01 01 Евгений Тюменцев. Качественный код - миф

  1. 1. Качественный  код? Миф! 01 TIKTOKCOACH.RU
  2. 2. Докладчик Тюменцев  Евгений Разработка  кросс-платформенных  приложений Руководство  отделом  разработки  ПО  в  40  человек Тех.  директор  ИТ-компании  в  70  человек Управляющий  партнер  стартапа “Тик-Так  Коуч” 02 TIKTOKCOACH.RU
  3. 3. Качественного  кода  не   существует! 03 TIKTOKCOACH.RU
  4. 4. Спасибо  за  внимание   04 TIKTOKCOACH.RU
  5. 5. Определение  качества  ПО ISO 9126 Качество  ПО  – совокупная  характеристика  ПО  с  учетом   следующих  составляющих: – – – – – – Надежность Сопровождаемость Практичность Эффективность Мобильность Функциональность 05 TIKTOKCOACH.RU
  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. Пираха – самые  счастливые 3  гласных,  8  согласных Нет  цифр Нет  религии,  ремесел,  искусства Помнят  только  то,  что  помнит   старейший  живущий 19 TIKTOKCOACH.RU
  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. Копи-паст  непобедим!!! Ассемблер  –> if, for, switch Алгоритмы  -> процедуры Процедуры  -> классы Собственный  код  -> библиотеки Компьютер  -> облако 30 TIKTOKCOACH.RU
  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. Пример  1       36 TIKTOKCOACH.RU
  37. 37. Пример  2       37 TIKTOKCOACH.RU
  38. 38. Пример  3   38 TIKTOKCOACH.RU
  39. 39. The Open-Closed Principle Rob Martin (Uncle Bob) 39 TIKTOKCOACH.COM
  40. 40. Спасибо Тюменцев  Евгений Звоните: +7 913 150 22 04 Пишите: etyumentcev@tiktokcoach.ru Читайте: @tiktokcoach 40 TIKTOKCOACH.RU

×