Покинул форум
Сообщений всего: 172
Дата рег-ции: Окт. 2014
Помог: 0 раз(а)
[+][+]
Если $this->id_prefix содержит число, значит останавливаю выполнение функции. Дабы префикс в бд есть и записывать новый не нужно.
Про многобайтную не совсем понял. Что именно не так? Верный подсчет в скрипте это если использовать mb_
MiksIr
Отправлено: 04 Декабря, 2014 - 16:35:59
Забанен
Покинул форум
Сообщений всего: 378
Дата рег-ции: Сент. 2014
Помог: 10 раз(а)
[+]
DeepVarvar пишет:
ГК, что ты там в массиве реплейсишь ака строку? Слово Array при отключенных ошибках?
Откройте для себя синтаксис str_replace =)
DeepVarvar пишет:
ГК, чуть выше ты даже не задумывался что там много байтная и лепил str_replace.
Это binary safe функция, mb тут не нужно.
DeepVarvar пишет:
ГК, ретёрн посреди метода без ничего и втихую?
А что вас смущает?
Weber пишет:
Первый вопрос. Можно ли приведенный код, назвать говнокодом?
Стиль не очень красивый. Однострочные if-ы - потенциальная проблема. Советую изучить PSR стандарты. Длинные цепочки функций плохо читаются, лучше не ленится и разбивать на несколько строчек с использованием переменных.
----- self-banned
DeepVarvar
Отправлено: 04 Декабря, 2014 - 17:00:13
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010 Откуда: Даугавпилс, Латвия
Помог: 52 раз(а)
DeepVarvar пишет:
Ретёрн нужен для возврата чего либо. Да, понятно что его используют дабы не продолжать, это не корректно.
А как корректно?
Допустим имеется метод-процедура, в нём return для прекращения выполнения "втихую" вполне уместен. Другое дело, если у нас метод-функция, в таком случае пустой return, да ещё и втихую, недопустим, и является серьёзной ошибкой. (Добавление)
Weber пишет:
Можно ли приведенный код, назвать говнокодом?
Можно. А именно изза своего, или не принятого обществом, стандарта оформления кода. Присмотритесь к PSR1/PSR2. Хотя не совсем корректно по этой причине называть код ГК'ом.
Насколько это актуально для пхп, я не буду утверждать, впринципе там на уровне ядра уже куча касяков.
Но для (гну)си и асма - вроде как очень даже, т.к. return это дорогостоящая операция перемещения в другой регистр(?) проца, чот тип того.
Ну т.е. это все не с того что у кого-то там зачесалась левая пятка, а вполне оправданно.
MiksIr пишет:
Для UTF8 эта функция безопасна.
Да хоть для черта лысого. Заставят тебя делать сайт с поддержкой какого-нибудь китайского, начнешь репу чесать.
А еще по ссылке посмотри внимательнее - там чел показывает касяк с утф.
Покинул форум
Сообщений всего: 378
Дата рег-ции: Сент. 2014
Помог: 10 раз(а)
[+]
Про косяк с utf-8 там ни слова нет. А если мне придется работать с иными кодировками - я их предварительно изучу.
----- self-banned
DeepVarvar
Отправлено: 04 Декабря, 2014 - 19:51:29
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
Чел говорит о потенциальной возможности просунуть два однобайтных как один двубайтный, и т.д. для "болеебайтных".
Ну, ты будешь изучать по месту надобности, а я уже сейчас интересуюсь.
Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010 Откуда: Даугавпилс, Латвия
Помог: 52 раз(а)
DeepVarvar пишет:
Но ПСРы тут ни при чем, это правила структурного программирования.
PSR я относил к общей структуре кода, а не к return'у.
Как насчёт компилируемых языков - не знаю, не изучал, но для PHP +/- 1 микросекунда это ничто.
Да и ничего не случится страшного, если указатель, или что там, переместится в другой регистр, регистры, они шустрые.
Да и по сути, какая разница, когда выходить из ф-ции? Или ты выйдешь return'ом, или выход произойдёт в конце выполнения ф-ции. В любом случае произойдёт передача управления.
Но зато ЧИТАЕМОСТЬ кода становится гораздо лучше, в этом случае:
Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007 Откуда: Симферополь
Помог: 98 раз(а)
Weber пишет:
$count_ = $count_pr;
вот от такого точно избавляемся!
В целом согласен с DeepVarvar. Последний пункт требует уточнения т.к. исходный код ТС привел как часть метода, а не полностью.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.