Консольное приложение, которое принимает команды пользователя и управляет пользовательскими данными.
Задание использует примеры команд для инструмента командной строки .NET Core CLI и ссылается на приложения, которые имеют целевой платформой .NET 6.
Visual Studio 2022 - это наиболее удобный инструмент для выполнения задания, однако, если конфигурация рабочей машины не позволяет запустить IDE, разработка может производиться с помощью Visual Studio Code и .NET Core SDK.
Требуется:
- Умение работать с командной строкой и утилитой dotnet. (Альтернатива - навыки работы в Visual Studio).
- Навыки программирования C# - C# Fundamentals for Absolute Beginners, C# Tutorials.
- Навыки работы с Git.
- Английский язык для чтения документации.
Перед началом работы при использовании Visual Studio следует изучить основы отладки в этой IDE - Debugging .NET Applications.
- Создание консольного приложения FileCabinetApp
- Создание сервиса FileCabinetService
- Редактирование и валидация данных
- Поиск
- Рефакторинг
- Экспорт в CSV и XML
- Хранилище на файловой системе
- Импорт из CSV и XML
- Удаление записей
- Рефакторинг
- Конфигурация и журналирование
- Поиск записей в файле
- Новые команды управления записями
- Улучшенный поиск
- Рефакторинг
В задании используется упрощенная модель ветвления feature-branch workflow:
- В ветке main всегда находится работоспособный код, который должен компилироваться без ошибок и предупреждений. Все требования текущего шага должны быть выполнены.
- В feature ветке происходит основная работа для текущего шага. Изменения в коммите могут содержать предупреждения, но не должны содержать ошибок. Изменения, которые относятся к одному заданию или являются логически завершенными, заливаются отдельным коммитом.
Таблица имен веток и методов слияния:
Номер шага | Имя feature-ветки | Слияние в main |
---|---|---|
1 | step1-add-file-cabinet-app | fast-forward |
2 | step2-add-service | no fast-forward |
3 | step3-add-validation | no fast-forward |
4 | step4-add-search | squash |
5 | step5-refactoring | squash |
6 | step6-add-export | squash |
7 | step7-add-filesystem | squash |
8 | step8-add-import | no fast-forward |
9 | step9-add-remove | no fast-forward |
10 | step10-refactoring | no fast-forward |
11 | step11-add-config-and-logging | squash |
12 | step12-improve-file-find | squash |
13 | step13-add-select | squash |
14 | step14-add-cache | squash |
15 | step15-refactoring | no fast-forward |
Более подробно про feature-branch worflow см. в "Удачная модель ветвления для Git".
Перед сдачей проекта студенты проводят peer code review.
На что стоит обращать внимание при просмотре (по версии Google):
- Код хорошо спроектирован
- Функциональность хорошо сделана с точки зрения пользователей этого кода, кем бы они ни были.
- Внешний вид (если есть) должен быть хорошим
- Код не переусложнен
- Разработчик не оверинженирит: не нужно писать код, который может понадобиться, а может не понадобиться
- Наименования (для всего) выбраны хорошо
- Комментарии к коду понятны и необходимы. Они должны объяснять, почему так сделано, а не как это сделано.
- Добавлена документация.
- Код соответствует стайл гайдам.