Архитектурные вопросы в приложении (лог, настройки)

Вурдалак

Продвинутый новичок
разве есть цель разобрать до винтика? почему бы готовыми платами не складывать?
Каждому проекту своё. Где-то готовые платы придётся полностью заменять другими вместо замены одного винтика, поэтому такой подход может не подойти. Наши взгляды основаны на проектах, с которыми мы работали, я слишком часто встречался с проблемами поддержки крупных legacy-проектов. Я на фрилансе никогда не работал, я не знаю какого это — каждый месяц сталкиваться с новым проектом. Тут уже приоритеты были бы другие, не мне поддерживать, главное, чтобы заплатили и т.д.
 

WMix

герр M:)ller
Партнер клуба
не приписывай меня к фрилансерам.
с точки зрения управления главное на проект мин по 2 человека сажать и не заменимых не бывает, большая система это куча говнокода.
самые чистые системы видел в компаниях по 8-20 штатных программистов. дальше сложно уследить. да кусками выбрасывается, переписывается, дописывается, патчится. все есть.
если можно одной строчкой кода решить проблему, лучше сейчас наговнокодим, и займемся другими делами, позже по новой проблеме подумаем.
тебе же можно даже не платить, толькоб код был чистый?
 
Последнее редактирование:

stalxed

Новичок
Тема о том, что новичков не должно существовать?
Имхо, но куда корректнее ставить вопрос следующим образом: используя какой способ инъекции зависимостей новички меньше всего набьют шишек?
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
количество шишек, набитое новичками - константа, которая задана на уровне генов, и не зависит от способа инъекции зависимостей :)
различно лишь время прокачки левела
http://elementy.ru/news/431869
 

Вурдалак

Продвинутый новичок
WMix, я не понимаю как ты можешь оценить чистоту кода, если регулярно тут показываешь полное непонимание теории. Т.е. я подозреваю то, что для тебя чистый код, то для нормальных людей — говнокод.
 

WMix

герр M:)ller
Партнер клуба
я твоего кода вообще не видел, были обрывки и куча блевотины. а так чтоб от начала до конца, извени.
 

Вурдалак

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

WMix

герр M:)ller
Партнер клуба
переворачиваешь ты все, манера разговора такая у тебя. не обижайся если задел чем, это онлайн эмоции не передаются, я добрый и веселый )
 

Absinthe

жожо
ServiceLocalor::get('Logger.пиши_в_оплаты')->info('свершилось bar->doBar() с вас 50,-');
ну или на край
EventManager::fire('bar.doBar()'); а там отпишу в логгер

вот у вас проблемы то :)
Имхо недопустимо.
Лучше так: $this->logger->info('свершилось bar->doBar() с вас 50,-');
В разных сервисах разные инстансы логгера ведь :) С разными настройками.
 

Вурдалак

Продвинутый новичок
Да это всё равно что о политике и религии спорить.

Будь я Биллом Гейтсем, я бы проводил такой эксперимент: создавал бы 2-3 команды, набирая в штат людей примерно одного стажа, но с разными взглядами (быстро vs качественно, Laravel vs Symfony, etc.). Набрал бы фейковых менеджеров, которые бы выдавали одни и те же фейковые требования. Можно брать кодовую базу проектов, находить в них слабые моменты и менять требования неудобным для команд образом, следить за реакцией. Шоу Трумена, короч.
 

fixxxer

К.О.
Партнер клуба
Будь я Биллом Гейтсем, я бы проводил такой эксперимент: создавал бы 2-3 команды, набирая в штат людей примерно одного стажа, но с разными взглядами (быстро vs качественно, Laravel vs Symfony, etc.). Набрал бы фейковых менеджеров, которые бы выдавали одни и те же фейковые требования. Можно брать кодовую базу проектов, находить в них слабые моменты и менять требования неудобным для команд образом, следить за реакцией. Шоу Трумена, короч.
Это уже было в Симпcонах^W^W у ДеМарко в The Deadline :)
 

AmdY

Пью пиво
Команда форума
Вурдалак, тебе настолько нравится теоретизировать, что полностью игнорируешь реальную жизнь? Зачем устраивать силиконовые тесты, если жизнь всё сама разложила по полочкам и впереди планеты вордпрес и т.д.
 

Absinthe

жожо
Вурдалак, тебе настолько нравится теоретизировать, что полностью игнорируешь реальную жизнь? Зачем устраивать силиконовые тесты, если жизнь всё сама разложила по полочкам и впереди планеты вордпрес и т.д.
Некорректный довод. В моей реальной жизни нет вордпресса: им занимаются вебмастера, а не программисты. И доход у них соответствует их навыкам.
 

Вурдалак

Продвинутый новичок
Вурдалак, тебе настолько нравится теоретизировать, что полностью игнорируешь реальную жизнь? Зачем устраивать силиконовые тесты, если жизнь всё сама разложила по полочкам и впереди планеты вордпрес и т.д.
Моя жизнь, к счастью, не связана с проектами уровня WordPress. Facebook, VK, *****, etc. не пишут на готовых CMS.

Я действующий разработчик, вполне успешно выполняю свои задачи, при этом стараясь придерживаться теории. Если бы я игнорировал реальную жизнь, то я бы не смог работать, as simple as that.
 

Sender

Новичок
Ух, подолью немного (как сторонник французского подхода).

Если подход позволяет легко определить все места где используется тот или иной "сервис", откуда он там взялся и выпилить его использование без особых усилий - то это хороший подход. Если подход HraKK это позволяет, ну ок, имеет право на жизнь, правда хотелось бы увидеть как это делается.

У француза это условие выполняется, достаточно грепнуть serviceId и все как на ладони. Опять же lazy инициализация сервисов.

DI != $GLOBALS. А вот Service Locator да, очень похож на GLOBALS.

" и впереди планеты вордпрес" - когда то и apache был там же, довод странный, да


Вроде набросил :)
 

WMix

герр M:)ller
Партнер клуба
Имхо недопустимо.
Лучше так: $this->logger->info('свершилось bar->doBar() с вас 50,-');
В разных сервисах разные инстансы логгера ведь :) С разными настройками.
подменить настройки интерфейс не позволяет, а я c конкретными настройками выбрал.
Если подход позволяет легко определить все места где используется тот или иной "сервис"
вот самый весомый довод в пользу DI

Вурдалак, я все придумал
PHP:
class Foo{
use \My\Logger
public function doFoo(){
    $this->info('скажи гаф');
}
}
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Близится к завершению новогоднее басё. В чрезвычайно упорной борьбе одзеки не смогли выявить победителя турнира.
 
Последнее редактирование:

Вурдалак

Продвинутый новичок
Поздно прибежавший WMix со своим SL тут не в тему, вот что хотел сказать HraKK до сих пор загадка. Ну не нравится человеку удобная конфигурация DI, где конфигурация одного сервиса не затрагивает другие, нужно чтобы сложно было. Я так понял. Мне кажется, человек затупил и теперь стыдно признаться в своём «я бы убивал за такое». Это ж как надо надраться, чтобы говорить вещи а-ля «DI ничем по сути не отличается от $GLOBALS».
 
Последнее редактирование:

WMix

герр M:)ller
Партнер клуба
вы как раз и спорили о разнице SL и DI отсюда и мой статик, а так в какойто момент было уже правильно подмечено.
Вам не надоело подменять DI и DIC/SL в предложениях?
и кажись это и был изначальный предмет спора но этого никто не заметил.
 
Сверху