- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
public function getAddressInfo($address) {
if (!$address instanceof SalesOrderAddressShipping) return '';
$country = $address->getCountry();
$region = $address->getRegion();
$city = $address->getCity();
$zipCode = $address->getZipCode();
$street = $address->getStreet();
$houseNumber = $address->getHouseNumber();
$building = $address->getBuilding();
$appartment = $address->getAppartment();
$addressInfo = '';
$addressInfo .= $city . ', ' . $street . ' ' . $houseNumber;
$addressInfo .= !empty($building) ? ', корп. ' . $building : '';
$addressInfo .= !empty($appartment) ? ', кв. ' . $appartment : '';
return $addressInfo;
}
public function getAddressInfoWithoutApartment($address) {
if (!$address instanceof SalesOrderAddressShipping) return '';
$country = $address->getCountry();
$region = $address->getRegion();
$city = $address->getCity();
$zipCode = $address->getZipCode();
$street = $address->getStreet();
$houseNumber = $address->getHouseNumber();
$building = $address->getBuilding();
$appartment = $address->getAppartment();
$addressInfo = '';
$addressInfo .= $city . ', ' . $street . ' ' . $houseNumber;
$addressInfo .= !empty($building) ? ', корп. ' . $building : '';
//$addressInfo .= !empty($appartment) ? ', кв. ' . $appartment : '';
return $addressInfo;
}
а сам класс называется AdminOrderListContentView, ебиеговрот....
Этот код точно, ясно и верно выполняет свою работу.
И о локалях тут даже ошмётки не брякали.
Какой коллектив -- такой код.
Здесь всё ясно. Было спрошено с программиста, чтобы в вид возвращалась форматированная строка. Это и было сделано. Формотирование меняется -- меняется код. И что там будет послезавтра -- неизвестно. Вот и висят куски.
Говнокод, говногод...
Как маленький ребёнок, честное слово...
Или, как говорится, тролль.
Две функции с близкими названиями совершают близкие действия.
Если бы было две функции с непонятными и разными названиями, а они делали бы одно и то же -- это говноконструирование.
Если бы было две функции с близкими названиями, а дела ли бы они совершенно разное -- говноконструирование.
Если здесь есть говно- то это говноменеджмент, который привёл к тому, что из MVC выпал кусок. И этот выпавший кусок ещё достаточно прилично сделан!
Гораздо ужаснее было бы, если бы этот кусок вообще был прямым текстом размещён посреди "бизнес-логики". Так он хоть упакован отдельно: с глаз долой, из сердца вон.
Двайте уж, пишите сразу имена фамили, юр. лица. фотографии. Чтобы никто к этим людям уже работать не приходил.
Бессмысленно говорить "о хорошем коде", когда здесь дыра между разными людьми. Говно в человеческом факторе.
Форматер сработал бы, как, например, доп. тег в JSP. Но подобные коды, как выше, появляются именно от того, что кто-то не хочет делать форматирование, а кто-то не хочет его поддерживать.
представляю себе глаза проффессионнала-пхпшника, которому ради всего 2 вариантов форматирования, вместо 30 секунд работы "добавить уже сраный аргумент bool в эту сраную функцию", тимлид предложит написать небольшой такой парсер-форматтер
Когда алгоритм устроен так, что наличие реального объекта не является обязательным условием, возвращают Null object -- дырку без поведения, в данном случае пустую строку.
Это проблема не PHP и даже не конкретного программиста, данная проблема имеет более глубокие и исторические образующие причины.
Гораздо проще создать несколько динамических страничек на PHP, чем на java. Всё же, java для web в своей основе более сложное с инженерной точки зрения сооружение.
Фреймворки тоже не помощники. Нужно ещё разбираться как они работают, как они устанавливаются.
Только по мере роста проектов становится ясно, что "по-простому" не выйдет, а "по-сложному" -- проще на других инструментах.
Новый девайс от Apple? :)
< Все «хотелки» должны быть формализованы предварительно, желательно.
Вопрос сводиться к написанию автоматически конфигурируемого парсера выхлопа.
Без спецификации формат выхлопа - это не серьёзный разговор.
Кстати говоря. Вместо '1' в $addressInfo могут содержаться индексы формата.
т. е. если не ноль, то $func[$key][$val]