Содержание
- 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. Скачать презентацию



























Мобильное рабочее место Единой корпоративной автоматизированной системы управления инфраструктурой дирекции по ремонту пути
Сортировка таблицы
Оценка качества программного обеспечения (SQuaRE). Модели качества систем и программных продуктов ГОСТ Р ИСО/МЭК 25010–2015
Сеть провайдеров ШЕНГЕН
Своя игра. Информатика. 6 класс
Java training courses roadmap, final
САПР Мех Россия. Меховые изделия
Шаблон коллегия ПЖКХ. Инновационный проект по управлению отходами
Простейшая HTML-страница
Презентация на тему Системы счисления, история и современность
Инструкция по обновлению навигационного ПО Sonata LFFL Навител 9-9 карты 2019q1
Информация, информационные процессы и информационное общество (лекция 2)
Краснодарский государственный историко-археологический музей-заповедник им. Е.Д. Фелицына
Решение задач нелинейного программирования в пакете Excel
Библиотека имени Ю.А. Гагарина
Презентация на тему Алгоритмы сжатия. Алгоритм построения орграфа Хаффмана
Паттерны GoF. Часть 2. Лекция 5
Файлообменник
5 Типы данных
Электронные таблицы. Microsoft Excel
ТАиФЯ № 2 (МТ)
Курс Информатика
Цифровой мир. Gigabyte
ecd41549-bd2b-4525-92ca-03ace6aea81f
Татарско-Баганинская сельская библиотека
Пошаговое создание кроссворда
Трехуровневая архитектура баз данных, модель взаимодействия
Создание геоинформационной системы для определения участков движения транспорта с недостаточным количеством переходов