это не делает его хуже, а спор про ООП в другом тредеАвтор оригинала: HraKK
потому что он не ООП

это не делает его хуже, а спор про ООП в другом тредеАвтор оригинала: HraKK
потому что он не ООП
В контексте ООП вполне может быть и так. Я говорил про реальную жизньАвтор оригинала: Активист
FB3
Про двигатель.
Смысл создавать обект типа "подача топлива" появляется только тогда, когда он самостоятелен, у него есть методы (сменить тип подачи топлива), если для типа данных "двигатель" достаточно иметь свойство "тип подачи топлива", то это можно сделать в контексте объекта двигатель, иначе, да, иерархия будет другая.
То есть у тебя может быть тип данных "карбюраторный двигатель", наследованный от базового "двигатели".
Зачем тебе чужой код? Есть публичные методы - вызываешь, не работает - пишешь баг репорт.Автор оригинала: triumvirat
>всего-лишь навести мышку, держа Ctrl, и прочитать декларацию с описанием
я всегда смотрю что делают методы с "говорящими" именами
Если ты не можешь по имени понять, что делает метод - никакой он не "говорящий"."говорящие" имена, написанные другими разработчиками, мне ничего не говорят.
Вызовмой код большинства контроллеров выглядит так: http://pastebin.com/5ZeLMwrN
Это хороший пример.то что я до этого привел - исключительный пример =)
ахаха =) дедушке на деревню писать?))Зачем тебе чужой код? Есть публичные методы - вызываешь, не работает - пишешь баг репорт.
достаточно один раз посмотреть описание и понять, что идет подгрузка во вью языковых данных расположенных в файлах, чьи пути описаны в виде строк Модуль/КонтроллерВызов
$this->getView()->loadI18n('common/FrontendGeneral',
'advert/'.$this->getRequest()->getRequest()->getControllerName());
не становится понятнее.
БИНГО!Автор оригинала: triumvirat достаточно один раз посмотреть описание и понять
я про API, про ядро говорю, когда есть ОБЩИЙ функционал на безе которого строится приложение.БИНГО
специально для тех, кто ... пропускает часть текста поста с 1го раза, повторяю^Автор оригинала: triumvirat
ахаха =) дедушке на деревню писать?))
вообще то с кодом мы работаем, в т.ч. и с чужим, его постоянно приходится править. такие вот задачи у рядовых программистов =))
Некого спросить? Ты что, плагины для джумлы правишь, написанные индийскими студентами?Если ты не можешь по имени понять, что делает метод - никакой он не "говорящий".
Попроси дать описание каждому методу, смысл которого ты не понимаешь.
Ты злой на говнокодера, чей код надо фиксить? Работа такая ...
Проблемы от несоблюдения принципов не означают, что принципы - плохие.
почему фиксить? не фиксить, а изменять в виду каких-то перестроение логики программы. говнокодеры тут не при чемТы злой на говнокодера, чей код надо фиксить
понятно. Абстрактная идеальная работа и идельный код, в котором все методы не требуют доработки. К сожалению, у меня иначе - кода много, его нужно постоянно править. Код, причем, довольно профессиональный. И тем не менее, я сталкиваюсь с проблемами, описанными мной выше.Некого спросить? Ты что, плагины для джумлы правишь, написанные индийскими студентами?
Может, стоит код купить, чтобы поддержка была?
коней абстрактных опять обсуждаем? Интересно, если я сейчас скажу главному программисту - "правь сам с вой код", меня просто выгонят или сначала пошлют матом?у меня правило - каждый правит только свой код
if (!$category->getId())
$redirect = new Base_Redirect();
$redirect->setHeader('action_failed');
$redirect->setType('alert');
$redirect->setMessage('element_does_not_exist');
$redirect->setRedirectUrl('/admin/user/');
return $redirect;
}
if (!$category->getId())
return $this->elementDoesNotExistRedirect('element_does_not_exist');
if (!$category->getId())
return DoesNotExistRedirect('element_does_not_exist');
Ты серьезно так думаешь? Замени в своем сообщении слова "экшен" и "простыня" на их описание. Пусть даже всего в пару строчек. И дай кому-нибудь прочитать.Автор оригинала: triumvirat
Я бы позаботился о том, что бы читающий удержал написанное в голове. Если таких методов будет в экшене много, а логика будет сложная, но простыню методов, вызывающих друг-друга, будет куда более тяжелее воспринимать.
Не позволяют, ибо редирект, класс для отображения сообщения на другой странице, может быть:Вопрос на засыпку, твои взгляды тебе позволят ввести какой-нибудь DoesNotExistRedirect?
$redirect = new Base_Redirect();
$redirect->setMessage('пользователь <a href="edit/?id={id_user}">{user_name}</a> сохранен');
$redirect->addParam('user_name', Helper_Format::hsc( $this->user->getFullName() ));
$redirect->addParam('id_user', $this->user->getId());
$redirect->setRedirectUrl($this->getRequest()->getRequest('return_on_page')
? Base_Redirect::implode('admin', 'user', 'edit').'?id='.$this->user->getId()
: (
$this->getRequest()->getRequest('referer')
? $this->getRequest()->getRequest('referer')
: array('admin', 'user')
)
);
нет. а вот методы созданы для повторного использования. если вам нужно выносить код - используйте блокиЗЫ: А насчет неиспользования локальных переменных - это тоже от лукавого да?
ыы факт,>> setMessage('пользователь <a href="edit/?id={id_user}">{user_name}</a> сохранен');
расстрел на месте.