Ответы Mail.ru: Начинаю писать большой код на с++. Оцените

Chromatic Scale (23743) 6 месяцев назад

Ниже приведены некоторые наблюдения и предложения, основанные на начальной части вашего кода C++ для системы проката автомобилей:

1. **Дизайн классов**. У вас определены два класса: автомобили и пользователи. Хорошо, что вы используете объектно-ориентированные принципы. Однако класс cars, похоже, содержит только массив названий автомобилей. Рассмотрите возможность добавления дополнительных атрибутов для представления различных свойств автомобиля, таких как модель, марка, год, статус аренды и т. д.

2. **Соглашение об именах**. В C++ имена классов обычно начинаются с заглавной буквы, например «Cars» и «User». Это помогает отличать имена классов от имен переменных.

3. **Массив внутри класса**. В классе cars есть массив с именем cars. Не рекомендуется иметь члена с тем же именем, что и у класса. Подумайте о том, чтобы переименовать его во что-нибудь вроде «carModels».

4. **Аутентификация пользователя**. В классе user имеется логическое значение isAutheficate (возможно, вы имели в виду isAuthenticated). Замечательно, что вы рассматриваете возможность аутентификации пользователей. Возможно, вы захотите конкретизировать это с помощью методов входа в систему, выхода из системы и регистрации.

5. **Проверка данных**. Для вводимых пользователем данных, таких как `name`, `surName`, `age` и `phoneNumber`, рассмотрите возможность добавления методов для проверки данных (например, проверьте, является ли возраст действительным числом, если номер телефона имеет правильный формат и т. д.).

6. **Функциональность метода callAdministrator**: метод callAdministrator в классе User в настоящее время пуст. Определите, что должна делать эта функция. Должно ли отображаться сообщение, обращение в службу поддержки или что-то еще?

7. **Включение файлов**: вы включили стандартные библиотеки, такие как `<iostream>`, `<fstream>`, `<vector>` и `<sstream>`. Убедитесь, что вы эффективно используете эти библиотеки в своем коде.

В целом, это хорошее начало. Помните, что для разработки такой системы потребуются более сложные функции, такие как хранение данных (для пользователей и автомобилей), функции поиска, механизм бронирования и т. д. Продолжайте дорабатывать и совершенствовать свой дизайн!