LINUX.ORG.RU
ФорумTalks

[Ну как так можно?] Набл*дение


0

0

Колупаю код, полученный в наследство от osCommerce. Ну, я понимаю, написано было в жутком 2003 году, тогда на PHP4 все не особо спешили переходить. Но это вообще шедевыръ.

Значит, хлопцы из команды просекли, что PHP уже 4 и там можно ООП. Похоже, они одним полушарием прохавали, что ООП — это круто. Но почему круто, и как им пользоваться, другое полушарие сим вопросом не особо задавалось. В результате вышло, что им дали в руки нечто хрупкое и хрустальное.

Короче говоря, есть идея, что когда пользователь набрал в корзину товаров и хочет их купить, в действие вступают несколько так называемых order-total-модулей. Ну там например, один вычисляет, сколько там в общем счете налога, другой — скидку за лояльность, третий вообще строчку «всего». Реализовано как кучка классов с общим интерфейсом.

Эта хорошая идея нашла каквсегдашнюю реализацию. Они сделали глобальную переменную $order, с которой эти модули работают по очереди. То бишь, в методе getTotal() там первой строчкой идет global $order; и далее по тексту.

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

Вот такой вот ШЗН. (ШЗН = ШоЗаНах, WTF по-русски)

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

★★★★★

Исповедь быдлокодера? Кушал, кушал кактус, а потом понял что невусно? Перепутал ЛОР и ЖЖ? Опять мучают плохие сны или бессонница? Выход есть!

Доктор Гениалиссимус. Вывод из ЛОРа и ввод в стену.

dent
()
Ответ на: комментарий от dent

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

shimon ★★★★★
() автор топика

>Мораль сей басни такова. Если вы начинаете внедрять какую-либо >парадигму, услышав неделю назад, что это круто, скорее всего, вы >делаете это неправильно, и скорее всего, все последующие мэйнтейнеры >вашего кода захотят оторвать вам руки.

Щас тебя обгавкают и надают тумаков :))

elipse ★★★
()

Ничего. Тем больше обрадуешься когда Питон выучишь :-) Правда лбом будешь сильно биться уж очень.

kost-bebix ★★
()
Ответ на: комментарий от kost-bebix

Удивишься, но я питон знаю. Есть даже план side-project'а, на который, к сожалению, пока нету времени и средств (типа выделенного сервера с толстой кишкой в инет). Так вот, даже зная, что есть Symfony, этот проект если и будет написан, то лишь на Twisted (так как веб-морда — лишь один из его интерфейсов, туда хочется всандалить еще умного IM-бота как минимум, ну и отладка, так что Django не подходит).

shimon ★★★★★
() автор топика

Пиши код так, как будто в дальнейшем его будет поддерживать сумасшедший психопат-убийца, который знает, где ты живешь

boombick ★★★★★
()
Ответ на: комментарий от elipse

> Щас тебя обгавкают и надают тумаков :))

_Здесь_ я другого не ожидаю. Но пара нормальных людей посмеется хотя бы над описанным мною решением, тыкскызыть, и продлит этим свою жизнь.

shimon ★★★★★
() автор топика
Ответ на: комментарий от boombick

> Пиши код так, как будто в дальнейшем его будет поддерживать сумасшедший психопат-убийца, который знает, где ты живешь

Я уже смотрел, кто _это_ писал. Был сильно удивлен, что это не индусы, а в основной массе немцы и всякие другие западные европы. НЕМЦЫ, товарищи, это ж позор.

shimon ★★★★★
() автор топика

нытик треды перетекают в вол-треды. требую подфорум "вол-стрит"

MyLan
()
Ответ на: комментарий от shimon

>Но пара нормальных людей посмеется хотя бы над описанным мною решением,

ты кого нормальным обозвал?

saguro
()
Ответ на: комментарий от shimon

Эээ... Не понял, если честно, при чем тут "даже зная, что есть Symfony" и вообще - любой MVC-фреймворк подойти должен, на то он и MVC. И Django тоже, надо только написать свой адаптер их контроллера и все, дальше принимать через свой путь запрос, парсить его и отдавать контроллерам нужным, а им уж там пофиг (ну всмысле уже модели самой, а не контроллерам), джаббер это, хттп, фтп или еще чего.

kost-bebix ★★
()
Ответ на: комментарий от shimon

> Я как раз не быдлокодер. Мне платят за то, что я написанное быдлокодерами превращаю в конфетку не из дерьма.

вот так вот, без особой скромности

Deady
()

Ну молодец.. Показал насколько ты крутой программист. Теперь можно и в стену.

mono ★★★★★
()
Ответ на: комментарий от mono

>Ну молодец.. Показал насколько ты крутой программист. Теперь можно и в стену.

Ну вот и авторы сабжа подтянулись.

По теме: Самому приходилось саппортить и дорабатывать кучу чужого говна - это занятии не для слабонервных. Уж лучше писать проект сложный, но писать его изначально, чем саппортить чужой кал.

Да и еще, как правило. Писанное тобой же для других оказывается "чьим то калом". Так как прикладное программирование это настолько неформальная наука, что каждый дрочит как хочит.

mrxrrr
()

обычные вещи, за которые тебе, как сам сказал, платят деньги. в мире полном Ъ-смоллтокеров было бы лучше? )

p.s. с 27-го июля - в матери городов руських.

volh ★★
()

Дык, платят же неплохо.

//В том году оптимизировали небольшую базу для лаб, отчётов, методичек и прочего дерьма, для кафедр. Так над любимый декан упорно не хотел понимать почему это PHP2 устарел. Завкафедры - тоже. Мой организм такое надругательство над программизмом терпеть не захотел, и написал всё на Перле. Такие дела. Нахер-нахер такую работу. Особенно, если платят мало.

wyldrodney
()
Ответ на: комментарий от mrxrrr

> По теме: Самому приходилось саппортить и дорабатывать кучу чужого говна - это занятии не для слабонервных. Уж лучше писать проект сложный, но писать его изначально, чем саппортить чужой кал.

> Да и еще, как правило. Писанное тобой же для других оказывается "чьим то калом". Так как прикладное программирование это настолько неформальная наука, что каждый дрочит как хочит.


Ты копрофил, и твой мозг давно протух.

firecocks
()
Ответ на: комментарий от volh

> обычные вещи, за которые тебе, как сам сказал, платят деньги. в мире полном Ъ-смоллтокеров было бы лучше? )

Ну, если действительно Ъ, то вряд ли там были бы такие явные ляпы.

> p.s. с 27-го июля - в матери городов руських.


А 31-го в Свирж на фолк-фестиваль не того? ;)

shimon ★★★★★
() автор топика
Ответ на: комментарий от shimon

>А 31-го в Свирж на фолк-фестиваль не того? ;)

Посмотрел.. Того!

volh ★★
()
Ответ на: комментарий от shimon

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

volh ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.