Яuбy / Говнокод #10274 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
scope :search_by_title, proc { |title|
  title = sanitize_sql(title).gsub(/'/, '').strip().split().join(':* &') << ":*"
  where("to_tsvector('english', title) @@ to_tsquery('english', '#{title}')").order("case when title ~* '^#{title}' then 1 else 2 end")
}

в рабочем проекте клиент решил, что он тоже программист.. я менять ничего не стал, просто дописал коммент про facepalm

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

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

  • cheef, можешь в двух словах описать здесь где плохо? я по-ruby не понимаю совсем )
    Ответить
    • Можно было засунуть все эти гсубы (замена подстрок кажись) и стрипы в sanitize_sql.
      И можно было разделить на несколько независимых строк. Слишком уж длинная цепочка операций
      Ответить
  • тут даже рубист без бутылки не разберётся - это пример местечковой оптимизации, которая на деле ничего не даёт
    Ответить
    • А это одна из причин, почему Ruby такое говно.
      Если язык позволяет запутать код до неузнаваемости - это большая архитектурная проблема языка.
      Попробуйте повторить на том же PHP - не получится. Т.е. даже такое уг как PHP лучше Ruby.
      Ответить
      • Ты еще напиши, если язык позволяет написать произведения Дарьи Донцовой, то он гамно...
        Ответить
  • если заказчику не указать на его неадекватность, в следующий раз он напишет больше)
    Ответить
  • ох бляяяя... после такого кода... хочется просто не разбиратсья дальше
    Ответить
  • Самое смешное - когда клиент хочет чтобы вы нашли в своём коде ошибку, которую он дописал.
    В первый раз думал - шизофрения началась (я был единственный Ruby-программист и git blame, конечно, не делал).
    Ответить

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

Из-за тебя ушел bormand, guest!

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


    8