Чек-лист самопроверки
Разработчику
Аналитику
Тестировщику
Архитектору
Инженеру
Чек-лист самопроверки
Проект
- Могу ли я объяснить, что такое проект программного обеспечения?
- Знаю ли я, какие файлы обычно входят в состав проекта (исходники, конфигурации, зависимости)?
- Понимаю ли я, зачем нужен файл проекта (
.csproj,package.json,pom.xmlи т.д.)? - Могу ли я перечислить, какую информацию хранит файл проекта (точки входа, зависимости, целевые платформы)?
- Знаю ли я, как выглядит типичная структура каталогов проекта?
- Понимаю ли я, чем отличается проект от простой папки с файлами?
- Могу ли я создать новый проект вручную (без IDE)?
- Знаю ли я, как проект связан с системой сборки (компилятором, интерпретатором, bundler’ом)?
- Понимаю ли я, почему проект упрощает совместную работу в команде?
- Могу ли я объяснить, зачем нужны ресурсы (assets) в проекте?
Решение
- Могу ли я объяснить, что такое решение и когда оно необходимо?
- Знаю ли я, в чём разница между проектом и решением?
- Понимаю ли я, что решение не содержит исходного кода?
- Могу ли я привести пример системы, требующей решения (например, интернет-магазин с API, фронтендом и мобильным приложением)?
- Знаю ли я, как называется файл решения в Visual Studio (
.sln)? - Понимаю ли я, как решение управляет зависимостями между проектами?
- Могу ли я описать, как IDE использует решение для навигации и сборки?
- Знаю ли я, как решения реализуются в других средах (например, workspace в IntelliJ IDEA)?
- Понимаю ли я, зачем нужно собирать несколько проектов одновременно?
- Могу ли я объяснить, как решение влияет на порядок развёртывания компонентов?
IDE
- Могу ли я определить, что такое интегрированная среда разработки (IDE)?
- Знаю ли я, какие основные функции предоставляет IDE (подсветка, автодополнение, отладка)?
- Могу ли я перечислить популярные IDE для разных языков (VS Code, IntelliJ IDEA, Visual Studio, PyCharm и др.)?
- Понимаю ли я, как работает отладчик и что такое точка останова (breakpoint)?
- Знаю ли я, как использовать автодополнение для ускорения написания кода?
- Могу ли я объяснить, как IDE помогает находить и исправлять ошибки?
- Знаю ли я, как IDE интегрируется с Git и другими системами контроля версий?
- Понимаю ли я, почему начинающим рекомендуется начинать с VS Code?
- Могу ли я описать, как IDE анализирует структуру проекта при его открытии?
- Знаю ли я, как настроить IDE под конкретный язык или фреймворк (установка расширений, SDK)?
Фреймворк
- Могу ли я объяснить, что такое фреймворк и чем он отличается от библиотеки?
- Понимаю ли я принцип инверсии управления («фреймворк вызывает вас»)?
- Знаю ли я примеры фреймворков для разных областей (Django, React, Spring Boot, Flutter)?
- Могу ли я объяснить, как фреймворк ускоряет разработку?
- Понимаю ли я, как фреймворк влияет на структуру проекта?
- Знаю ли я, какие задачи обычно решает фреймворк «из коробки» (маршрутизация, авторизация, ORM)?
- Могу ли я объяснить, почему использование фреймворка повышает надёжность приложения?
- Понимаю ли я, как выбрать фреймворк под задачу (цель проекта, язык, сообщество)?
- Знаю ли я, что фреймворк часто входит в более широкую экосистему (CLI, менеджеры пакетов, генераторы)?
- Могу ли я описать, как фреймворк управляет жизненным циклом приложения?
Взаимосвязь и практика
- Могу ли я объяснить, как IDE использует файл проекта для настройки окружения?
- Знаю ли я, как фреймворк влияет на содержимое файла проекта?
- Понимаю ли я, как решение помогает IDE управлять несколькими проектами одновременно?
- Могу ли я создать проект с использованием фреймворка через CLI (например,
dotnet new,create-react-app)? - Знаю ли я, как добавить зависимость в проект через менеджер пакетов и как это отразится в IDE?
- Понимаю ли я, как отладчик в IDE работает с кодом, написанным на фреймворке?
- Могу ли я объяснить, почему важно фиксировать версии зависимостей в файле проекта?
- Знаю ли я, как IDE помогает навигировать по кодовой базе большого проекта на фреймворке?
- Понимаю ли я, как решение упрощает локальную отладку микросервисной системы?
- Могу ли я описать полный цикл: создание решения → добавление проектов → выбор фреймворка → настройка IDE → запуск и отладка?
См. также
Другие статьи этого же раздела в боковом меню (как на странице «О разделе»). На примере выше, как раз решение объединяет несколько независимых, но связанных проектов. Каждый проект состоит из каталогов (для исходного кода, ресурсов, тестов и т.п.) и файлов (конфигурации,… Visual Studio (важно – не путать с Visual Studio Code) – мощнейшая IDE для .NET с отличным отладчиком, поддержкой Git, инструментами для разработки на множество вариаций и шаблонов для языков .NET –… Сторонняя библиотека — это чужой код, выполняемый в вашем проекте. Его качество и намерения нельзя принимать на веру. ★ Сборка – процесс преобразования исходного кода в исполняемый файл или пакет. Сборки бывают двух типов — Debug – с отладочной информацией – медленная, и нужна для разбора ошибок, Release –… Библиотека — это коллекция готовых функций, которые можно вызывать по мере необходимости. Программа остаётся полностью под контролем разработчика — он сам решает, когда и как использовать ту или иную… Важно помнить — микрофреймворк — это не меньше кода, а меньше предположений. Он не решает за вас, как строить приложение, но даёт идеальную площадку для того, чтобы построить его именно так, как… Архитектура программного обеспечения — фундамент приложения. Она определяет устройство системы, состав частей, их взаимодействие и развитие со временем. Связи — app → зависит от core, logger, notification, core → зависит от logger (не зависит от notification), notification → зависит от logger, logger → не имеет внешних зависимостей (ядро) Если рассматривать увеличение размера приложений исключительно через призму некомпетентности разработчиков или жадности бизнеса, можно прийти к упрощённому и неверному выводу — нужно нанять лучших… Современная разработка программного обеспечения невозможна без чёткого понимания того, как организованы рабочие единицы кода и инструменты, в которых они создаются. Проект — это минимальная…Проект программного обеспечения
Интегрированные среды разработки (IDE)
Библиотека
Сборка, компиляция и публикация приложений
Фреймворк
Микрофреймворк
Основы архитектуры
Модульность и компонентный подход в разработке
Оптимизация размера и производительности приложений
Итоги