Содержание
- 2. О чем Почему нужно бороться со сложностью Откуда берется Кто и как может с ней бороться
- 3. Управление сложностью каждый день Команда должна понимать и дописывать код (хотя бы в текущем проекте) Сложность,
- 4. «Протекание» и смешение уровней абстракции Неправильное именование Слабая связанность, сильная связность Отсутствие unit-тестов Не применяются SOLID,
- 5. Сложность предметной области Что мешает развитию системы, в которой в общем-то все неплохо Сложность, внесенная разработчиком
- 6. Желание решить задачу выше своих компетенций Недостаточное понимание задачи Чаще встречается у молодых разработчиков Оверинжиниринг
- 7. Желание использовать модный фрэймворк/подход Желание развить компетенции Чаще свойственно разработчикам среднего уровня Желание написать «классно»
- 8. Гибкий и качественный код Продуманные точки расширения Сложные алгоритмы Гений
- 9. CodeReview для всех Отдельный пункт CodeReview – «проверить понятность», Управление творческой энергией разработчика
- 10. Практики из SCRUM Не давать задачу «целиком» Force collective code ownership Коммуникации
- 11. DI/IoC AOP DDD и Enterprise-паттерны Асинхронность/многопоточность Обобщенные классы и алгоритмы Использование готовых компонентов Функциональный стиль …
- 12. IL Code Нативный код .NET Sources Nuget lib sources Common Code Module common code Business logic
- 13. Enterprise Locator Layer Service Repository Broker ActiveRecord Tier Bus Interceptor ServiceWrapper Adapter Microservices
- 14. Уровень классов
- 15. Уровень методов
- 16. Что делать? Написать как обычно «А не рано ли принимается решение»
- 17. #1 #2
- 18. Ограничение набора инструментов Знать возможности используемого фрэймворка Предпочитать встроенные инструменты Бюрократия при добавлении новых библиотек –
- 19. Непреодолимая сложность Требования к производительности Сложность предметной области Компромиссы и ограничения фрэймворка, библиотек и бизнес-требований
- 20. #1 Просто код
- 21. #1 Контекст
- 22. #1 Документация и комментарии
- 23. #2 Просто код
- 24. #2 Комментарии
- 25. Документация, комментарии Описание сложного алгоритма (возможно со ссылками) «Почему так» Контекст
- 26. Валидация графа Алгоритм Поиск «треугольников» Упрощение графа с использованием шагов: Убрать «петли» Сократить пути, относящиеся к
- 28. Изоляция/Инкапсуляция Сложность не отражается на публичных интерфейсах От сложности ничего не зависит Сложность сконцентрирована в одном
- 30. Скачать презентацию



























Инструкция для входа в вэбинарную комнату WebEx
Представление информации в двоичной системе мсчисления
Как подать обращение через сайт ГИС ЖКХ
Программирование на языке Паскаль. Часть II
Кодирование символов
Трехмерный анализ данных
Информационная безопасность в компьютерных сетях Криптографическая система шифрования
Изучение графического редактора Paint.Net. 7 класс
Технологии физического уровня (L1)
Хеширование паролей. Лекция №6
Кладовка smm-щика
Язык разметки гипертекста HTML
Виды алгоритмов
The Fuehrer's Fate. Компьютерная игра
Формализация: Понятие формализации, основные формы формализации информации: формула, текст, таблица, граф, алгоритм. СРС
Алгоритм и его свойства
Работы Цыпляковой Н.А. в CorelDraw, Photoshop, AutoCAD & Marvelous
Функциональное программирование
Отчет в рамках исполнения работ по государственному контракту на оказание услуг, выполнение работ
Возможности электронных таблиц
İntellektual sistemlər
Операционные системы для разработчиков программного обеспечения. (Лекция 2)
Основы построения системы управления базами данных MS ACCESS
Микроконтроллеры
Там3
Электронный документооборот
E-Invoicing и PayByClick – удобный способ принимать оплату в интернете
Структурное программирование