• Закон Деметры. Нужен ли?

    @StepEv
    А ваш пример закон не нарушает.

    В $user->getPosts()->getLast()->getComments(); каждый объект обращается только к одному знакомому ему объекту:

    posts = user.getPosts();
    lastPost = posts.getLast();
    comments = lastPost.getComments();

    Так что не переживайте, всё в порядке. Выше понаписали какой-то ереси, честно говоря.

    Нарушением было бы что-то типа $user.posts.last->getComments();

    Здесь получается что user знает о том, как устроен posts, а это не хорошо.

    Вообще-то по вашей же ссылке на википедии это всё хорошо расписано, даже с примерами.
    Ответ написан
  • Как завершить начатый проект?

    @Neir0
    1. Максимально ограничить функциональность, только основные фичи, ничего лишнего, никаких деталей

    2. Делать БЫСТРО. И планировать так, чтобы сделать быстро. Например если есть возможность использовать готовые компоненты, использовать их, не изобретать велосипед, малозначимые детали на которые тратится много времени отсекать. Если проект затягивается мотивация тает на глазах.

    3. Обратная связь. Деньги и хвалебные отзывы очень мотивируют. Если ты делаешь проект и чувствуешь, что он никому не нужен, желание «писать в стол» разумеется пропадает. Регулярная подпитка отзывами. Поэтому нужно быстро сделать первый релиз, а потом работать короткими итерациями, чтобы была постоянная обратная связь с пользователями.

    4. Избегать рутины, стараться скидывать ее кому-нибудь. Например верстку. Но это уже опционально, поскольку требует затрат.
    Ответ написан
    1 комментарий