• Как распределить время при обучении программированию?

    OMarchenko
    @OMarchenko Автор вопроса
    Random Expansion
    Господа, пожалуйста, представьте на минуту, что перед вами абстрактная задача - например, о воде, втекающей и вытекающей из бассейна. Зачем туда втекает вода, куда она потом утекает, какой она температуры - это, конечно, интересно. Но давайте вместе с этими рассуждениями хотя бы пытаться ответить на четко поставленный в задаче вопрос.
    Интересует соотношение времени, которое вы при заявленных условиях считаете оптимальным для изучения пяти тем. Можно в процентах.
    Ответ написан
    Комментировать
  • Почему использование 'object.get_attribute()' лучше, чем object.attribute?

    OMarchenko
    @OMarchenko
    Random Expansion
    Макконнелл С. "Совершенный код":
    "Предоставление доступа к данным-членам нарушает инкапсуляцию и ограничивает контроль над абстракцией. Как указывает Артур Риэль, класс Point (точка), который предоставляет доступ к данным:
    float x;
    float y;
    float z;
    нарушает инкапсуляцию, потому что клиентский код может свободно делать с данными Point что угодно, при этом сам класс может даже не узнать об их изменении (Riel, 1996). В то же время класс Point, включающий члены:
    float GetX();
    float GetY();
    float GetZ();
    void SetX( float x );
    void SetY( float y );
    void SetZ( float z );
    поддерживает прекрасную инкапсуляцию. Вы не имеете понятия о том, реализованы ли данные как float x, y и z, хранит ли класс Point эти элементы как double, преобразуя их в float, или же он хранит их на Луне и получает через спутник".
    Ответ написан
    Комментировать