Ответы пользователя по тегу ООП
  • Куда двигаться(Python)?

    h0w4rd
    @h0w4rd
    Python dev.
    Напиши сайт с поддержкой аунтефикации через:
    1) Google.
    2) Facebook.
    3) VK.
    4) Twitter.
    5) Github.

    С поддержкой 2-х факторной аунтефикации через:
    1) TOTP (гугл аунтефикатор).
    2) Telegram.
    3) Viber.
    4) Код через почту.

    Также:
    1) Шардирование базы данных (не через репликацию).
    2) Поиск пользователя по любому критерию (полю).
    2.1) От ...
    2.2) До ...
    2.3) От ... до ...
    3) Чтоб ВСЕ это можно была включить сразу.
    4) Крайне желательно, чтоб это все еще работало как надо.
    5) Ну и ответ отдавало за доли секунды, пол секунды - уже много. Очень много.

    Очень желательно написать все это с умеренным использованием сторонних библиотек, где многое из этого УЖЕ сделано. Просто скомпонуй и заставь работать.

    Это первое что взбрело в мою голову, типичные задачи для бекенда.
    Ответ написан
  • Набросал структуру классов учебного сайта доски объявлений, как еще лучше распределить функционал?

    h0w4rd
    @h0w4rd
    Python dev.
    1. [класс User] я бы использовал названия "name" и "phone", все-же ясно что это.

    2. [класс MyAdverts] ЗАЧЕМ? Можно сразу впихнуть в UserPersonalPage логику.

    3. [класс AdvertFavorites], зачем? Эти методы в Advert впихнуть НАДО, это к тому классу относится.

    4. [класс UserLoginLogoutService] Переименовать в UserAuthService хотяб. Или убрать методы в обычные функции. ООП ради ООП = зло.

    5. [класс UserPersonalPage] Убрать "my" из названия методов. Оно ничего не несет, ведь ясно к чему оно относится.

    6. [класс UserService] За такое я бы руки отбивал. Это все к объекту пользователя относится. Ведь user_service->changeUserName(user, "foo"); в разы хуже user->setName("foo");

    7. Касается всего: зачем, к примеру называть метод "changeUserName" если можно просто "setName" или "setNickname" ну или "setUsername".

    Прошу принять все серьезно и прочитать не между строк. Так вам же проще будет и всем кто ваш код использовать будет. Серьезно, чем проще тем лучше (ну, все-же упрощать не нужно вообще в максимум, в рамках разумного).
    Ответ написан
  • Как использовать вектор классов?

    h0w4rd
    @h0w4rd
    Python dev.
    Как я понимаю, функции должны работать с данными пользователя (т.е. vector<User>& arr). Значит нужно вынести это как поле и желательно не забыть про добавление нового параметра в инициализацию класса. Ну а иначе, если эти функции просто сортируют векторы или что там, то убрать их из класса.
    Ответ написан
    Комментировать