Code katas — это небольшие упражнения по кодированию для оттачивания ваших навыков программирования. В этом посте я покажу вам свою любимую кодовую ката. Основная идея состоит в том, чтобы решить относительно простую проблему программирования, следуя преувеличенной версии лучших практик кодирования.
Цель
- Заставьте вас задуматься о своих методах кодирования.
- Подумайте о компромиссах, возникающих при выполнении повседневных задач программирования, таких как разделение класса или метода.
Правила
- Все методы имеют максимум три строки кода.
- Все классы имеют максимум два поля (за исключением классов данных и POJO).
- Все классы имеют максимум десять строк кода (исключая импорт).
Эти правила имеют в виду Java и Kotlin; вам может потребоваться настроить их в соответствии с вашим языком программирования.
Проблема
Используя предпочитаемый вами язык программирования, разработайте программу лояльности для кофейни. Клиенты получают одну марку за кофе; когда они достигают шести марок, у них есть один бесплатный кофе. Приложение предоставляет следующие общедоступные операции:
- Создайте клиента.
- Создание штампа для клиента.
- Перечислите все марки и бесплатные кофе для клиента.
- Получите бесплатный кофе.
Если клиент достигает шести марок при добавлении новой марки, приложение должно создать бесплатный кофе в награду.
Не стесняйтесь задавать уточняющие вопросы, оставлять отзывы или делиться решениями в моем Твиттере. Посмотрите другие мои упражнения по программированию здесь.
Примечания/предположения
- Приложение может хранить состояние (клиенты, марки, бесплатный кофе) в памяти.
- Делайте разумные предположения для таких вещей, как обработка ошибок (например, попытка добавить штампы не выходящим клиентам); эта часть не так важна.
- Чтобы упростить тестирование, вы можете предварительно загрузить в свое приложение информацию о клиентах, марках и бесплатном кофе.
Первоначально опубликовано в моем блоге здесь.