Skip to content

A development-intensive task for .NET Lab students to train C# coding skills

License

Notifications You must be signed in to change notification settings

epam-dotnet-lab/file-cabinet-task

Repository files navigation

File Cabinet

Описание

Консольное приложение, которое принимает команды пользователя и управляет пользовательскими данными.

Платформа .NET

Задание использует примеры команд для инструмента командной строки .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.

Выполнение

  1. Создание консольного приложения FileCabinetApp
  2. Создание сервиса FileCabinetService
  3. Редактирование и валидация данных
  4. Поиск
  5. Рефакторинг
  6. Экспорт в CSV и XML
  7. Хранилище на файловой системе
  8. Импорт из CSV и XML
  9. Удаление записей
  10. Рефакторинг
  11. Конфигурация и журналирование
  12. Поиск записей в файле
  13. Новые команды управления записями
  14. Улучшенный поиск
  15. Рефакторинг

Ветвление

В задании используется упрощенная модель ветвления 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".

Code Review

Перед сдачей проекта студенты проводят peer code review.

На что стоит обращать внимание при просмотре (по версии Google):

  • Код хорошо спроектирован
  • Функциональность хорошо сделана с точки зрения пользователей этого кода, кем бы они ни были.
  • Внешний вид (если есть) должен быть хорошим
  • Код не переусложнен
  • Разработчик не оверинженирит: не нужно писать код, который может понадобиться, а может не понадобиться
  • Наименования (для всего) выбраны хорошо
  • Комментарии к коду понятны и необходимы. Они должны объяснять, почему так сделано, а не как это сделано.
  • Добавлена документация.
  • Код соответствует стайл гайдам.

About

A development-intensive task for .NET Lab students to train C# coding skills

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •