Check Levi9 best QA positions to Backbase team!
×Закрыть
  • Игра в спички

    Вижу огромное место для тролинга. кинуть 3х спичек, а потом агитировать народ выбивать повышение

  • Sakura 0.5 мини-дистрибутив Haiku OS

    Кто такая Саша Грей?

  • Смерть Yii

    а знаете как сдалать более читаемо? добавить в конце каждого шага коммент с приемром как теперь будет выглядеть стринг, или хотя бы один пример. И кстати это так там везде, я просто взял метод нафонарь,

  • Смерть Yii

    нет, это наконец фреймворки начали писать ровнее

  • Смерть Yii

    Ну там же сообщение просто. Читая код даже не обратите на него внмания. В то время в йии там логика и операции которые надо прочесть

  • Смерть Yii

    Учите матчасть. ) как раз хороший конструктор, все легко тестируется)

  • Смерть Yii

    Не вишло тогда надо ексепшн а не возвращать другой тип.
    Именно из за такой логики как у вас на пхп грузят что оно кривое. Кае может ф-я такое делать?

    А что скажете по поводу других пунктов, а то у вас коменти толко к двум нашлись.

    По вашему строчка кода на полтора екрана тоже норма?

  • Смерть Yii

    А для чего формошлепу тестить и экстендить Yii::Base?
    Не все в мире формошлепы! Я кстати например =)
    Так вот а что делать если что-то захочете поменять? тот же симфони да и фьюлпхп позволяю это!
    Почему должно быть null, а не false?
    Учите матчасть =) Функцыя должна возращать путь к фалу (тоесть стринг). Если пути нет, то как раз для того и придумали null. False совсем другой тип! Вспоминаю одного коллегу который в функцию которая возвращала масив дописал чтоб она возвращала фолс если он пуст! Надо уметь типизтровать данные, как потом такое документровать?
  • Смерть Yii

    Кажется фреймворк назывался tapestry. Деталей на вспомню,остался только осадок)

  • Смерть Yii

    1) ну для начала я б self::$_aliases записал в переменную, а то копи паста.
    2) конструкция if() {return;}else{} глупа до немогу (особенно когда их несколько еще), зачем там елс ? И так ретурн остановит.
    3) почему она возвращает false, который булеан, должно быть null
    4) Доу обрезал по длинне 10 строку, она в 3 раза дольше!!! нужно скролить в редакторе! почему не разбить логику на 2 рядка?
    5) Уйма точек выхода
    6) все статики! как тестировать?
    7) Почему self а не static ? как екстендить?

    Удивлен что вы не заметили ничего из этого

    Поддержал: Bohdan Chechin
  • Смерть Yii

    Ну идея больше в фреймворках. С того что я видел на джаве то в фремворках статики еще те. ( Правда было это 5 лет назад)

  • Смерть Yii

    Вот кусок кода Yii

    public static function getPathOfAlias($alias)
    {
    if(isset(self::$_aliases[$alias]))
    return self::$_aliases[$alias];
    else if(($pos=strpos($alias,'.'))!==false)
    {
    $rootAlias=substr($alias,0,$pos);
    if(isset(self::$_aliases[$rootAlias]))
    return self::$_aliases[$alias]=rtrim(self::$_aliases[$rootAlias].DIRECTORY_SEPARATOR.str_replace('.',DIRECTORY_SEPARATOR,substr($alias,$pos+1)),'*'.DIRECTORY_SEPARATOR);
    else if(self::$_app instanceof CWebApplication)
    {
    if(self::$_app->findModule($rootAlias)!==null)
    return self::getPathOfAlias($alias);
    }
    }
    return false;
    }

    Вот мой фремворк ( core классы, теперь пикся все разделена как симфони) github.com/...ny/PHPixie-Core

    Посмотрите сами. От кода Йии глаза плачут кровью

    Поддержали: Sasha Unknown, Igor Stokolos
  • ACPU — новая платформа

    О чем ты мальчик?

  • Смерть Yii

    Каплінг может быть везде и всегда =)
    Как и везде это статики + вызовы new по 10 раз в каждом методе. Если метод создает сам 10 инстансов разных классов, вот и каплинг.
    Зато как раз в динамическом языке делать все это гораздо проще, так как не надо формально оглашать интерфейсы если не хочется)

  • Смерть Yii

    Ну тут нужно отличать ПХП само от того что на нем написано.
    О каше в самом ПХП спорить не стану =)
    Но радует то куда движется сообщество. Все-таки каша в самом коде мотивирует писать ровнее =)

  • миграция Azure web-site

    Вчера перешел с Hostgator на RamNode:

    25$/mo

    2048MB RAM
    2048MB VSwap
    4 CPU Cores @ 3.3GHz+
    40GB SSD space
    1Gbps Port
    4000GB Bandwidth
    1 IPv4 Address (+1 FREE)
    16 IPv6 Addresses
    Weekly Remote Backups
    TUN/TAP

    С такими ценами для чего Азур для средних проектов?

  • Hollow — блог платформа на файлах

    Ну между стопицот и 4 большая разница. Для чего в простом скрипте без надобности плодить лишнее сущности и методы? Во многих случаях это только уменшыт читабельности.

    Поддержал: Андрюха Цибрій
  • Hollow — блог платформа на файлах

    1) Любое ИДЕ позволяет сделать такой рефакторинг автоматически
    2) Ваш пример никак не соответствует скрипту на 4 класса.

    Поймите меня правильно, я не говорю что инкапсуляция или аксессор это плохо. Я говорю что для всего есть свое место и нужно чаще применять бритву Окама, а то с таким подходом можна для каждой проперти отдельный клас писать.

  • Hollow — блог платформа на файлах

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

    Поддержал: Андрюха Цибрій
  • Hollow — блог платформа на файлах

    Ну так для чего же со всеми так? Всегда слишу 2 аргумента:
    1) А вот надо будет тебе чтоб там вместо просто значания делалась еще какая-то операция, придется тогда делать метод и рефакторить. Да, придется, и что? рефакторинг займет целых 5 минут, а если не придется то так и останется в каждом класе куча ненужных сущностей.

    2) Сделать их рид-онли. Тоже можна, но зачем ? Тут уже питонический подход: зачем защищать код от програмиста?
    Я конечно не говорю что надо все делать публичным, так как тогда непонятно что из всего есть внешный интерфейс. Но делать что-то рид-онли, тем долно быть оправдано. В данном случае оно и близко не нужно.
    Не надо использовать паттерны типа аксессоров только потому что они есть.

← Сtrl 1... 34567...13 Ctrl →