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



























Лекция 3_Основы технологии совместной работы_Облачные технологии
Виды компьютерной графики
Информационные системы и технологии. Структура дисциплины
SmartBoxTurbo для одновременного подключения с разных устройств
Приложение для изучения информатики Рlay Market
Разработка веб-сайта для организации по сборке мебели
Основы алгоритмизации и программирования
Продвижение идей ММШБ через сетевое сообщество
Основные принципы защиты от НСД. Основные способы НСД. Основные направления обеспечения защиты от НСД
Лингвистические особенности электронного общения на примере социальных сетей
Кратчайший путь в графе
Обработка экспериментальных данных в Mathcad. Лабораторная работа №5
Угрозы информационной безопасности и информационные войны. Групповое занятие №1
ГИС Карандаш 5 класс
Всемирная паутина
Кто живёт в этой книжке
Маленькая сказка о компьютерном вирусе и как с ним бороться
Кодирование графической информации
Критерии приемки и определение выполненного
Operating System. Лабораторная работа 2
Решение кейса недели экологии
ЛОГИЧЕСКИЙ ТИП ДАННЫХ В ПАСКАЛЕ
Модель Мусса
Кодирование источника (эффективное кодирование)
СТС — российский федеральный телеканал
Кортежирование графов
Модели объектов и их назначение
Prezentatsia