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



























Программа подготовки СЗВ-ТД Сведения о трудовой деятельности зарегистрированного лица в электронном виде Spu_orb
Мобильные вирусы: миф или угроза
Графы
Таблицы. Вставка в документ таблицы, ее форматирование и заполнение данных
Графические информационные модели
Перечисления (enum)
Массфолловинг и таргет кейсы
Двоичное кодирование и информационные процессы
How much time do you spend online per day?
Я досліджую світ. Інформатика
Разработка программного обеспечения автоматизираванного рабочего места специалиста отдела продаж ОАО Лидские Пищевые Концетраты
Законы алгебры логики
Проверка орфографии
Макрос DragAndDrop
Художественно-техническое оформление издания
Собираем семантику. XMind карта
7 советов как продвигать свой бизнес в YouTube
Создание группы Вконтакте с нуля
Как мы познаем окружающий мир
Автоматизированное тестирование
Электронные деньги
Take this lollipop
Возможности динамических (электронных) таблиц
Кодирование информации
Модули. Модуль math и random. Программирование на языке Python
Программирование на языке Pascal
Разработка приложений в ВК
Анализ и рекомендации по странице в Instagram