"PHP" / Говнокод #6100 Ссылка на оригинал

0

  1. 1
$txt['aeva_gallery'] = isset($txt['aeva_gallery']) ? $txt['aeva_gallery'] : 'Media';

Кусочек языкового файла модуля медиагалереи

Запостил: prodigy prodigy, (Updated )

Комментарии (12) RSS

  • И хуле? «?:» появился только в 5.3, так что нихуя не говнокод.
    Ответить
    • Когда бы он ни появился, он тут не нужен 🙂
      if (!isset($txt['aeva_gallery'])) $txt['aeva_gallery'] = 'Media';

      Зачем 2 раза одно и то же делать?
      Еще большее говно в том, что обращения делаются по каким-то строковым ключам неизвестно откуда полученым, но это, похоже норма для PHP - работать с динамическими массивами вместо объектов с задаными свойствами.
      Ответить
        • Если моя память меня не подводит, то в PHP были предупреждения, если обращаться к неопределенному индексу массива. Так что ваш код... ну, по крайней мере чреват таким предупреждением. Кроме того, как на мой взгляд, конструкция типа if (condition) statement; вполне себе имеет право на существование не смотря на наличие операторов позволяющих ее заменить.
          Кроме того, если уж на то пошло и мы хотим игнорировать предупреждения, и нам не важно, что по этому индексу массива могло быть что-то, что может быть истолковано как false, тогда есть такой вариант, опять же, более приемлимый в виду того, что многие языки с похожей структурой его тоже поддерживают:
          $txt['aeva_gallery'] = $txt['aeva_gallery'] || 'Media';
          В отличие от последнего, который существует только в последних версиях языка, и, заметте, ни чем принципиально не лучше других предложеных.
          Ответить
  • Oonitaz, причем здесь версия?
    Автор присваивает значение новой переменной(причем работать она будет как константа - ведь языковой файл, значения не будут меняться) путем проверки ее существования))
    1. Нечитабельность кода
    2. Путаница для переводчика(см. пункт №1)
    3. Избыточность, ведь проще некуда было бы сделать вот так:
    $txt['aeva_gallery'] = 'Галерея';
    Все! Проще некуда, зачем на пустом месте что-то усложнять? В этом я и увидел говно.
    Ответить

Добавить комментарий

Семь раз отмерь — один отрежь, guest!

    А не использовать ли нам bbcode?


    8