1. Ruby / Говнокод #6864

    −99

    1. 1
    2. 2
    <%= @album.playlist.gsub('
    ','<br />') %>

    Тогда, видимо, не догадался написать "\n" :)

    Запостил: Actine, 05 Июня 2011

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

    • пахнет весь код, не только "\n"
      Ответить
      • да что же здесь еще может пахнуть?
        сами рельсы, разве что :)
        Ответить
      • чем вам Руби не?
        Ответить
        • а при чем здесь руби? проблема в хранении списка в формате текстового поля. или в идиотской верстке которая нуждается в <br /> что бы уместиться на странице. не говоря уже о том что связь album - playlist кажется странной.
          Ответить
          • ответ. другу нужно было быстро помочь с примитивнейшим заданием в универе - склепать CRUD-проект типа музыкальная коллекция. на нескольки моделях (юзер-альбом). поэтому для плейлиста (треков) не делалась отдельная таблица. Вообще-то, мы только начинали тогда учить рельсы, поэтому я писал тоже, как знал.
            <br /> был выбран на скору руку. не было тогда большого опыта нормальной верстки.
            А что? Лучше если бы я сейчас сочинил новый, кошерный говнокод "по мотивам"? или отправил то, что нарыл в старых проектах?
            P.S. даже не так. это было "помоги а то всё лепит в одну строчку" на переменке.
            Ответить
            • А при чем здесь сочинить? я говорю что ни первый вариант ни второй не айс. не знаешь как писать на рельсе, не смеши народ, не высказывай таких "решений".
              Ответить
              • Ух, ты.
                Я так понимаю писать на рельсе можно только на безопасном от поезда расстоянии. Не?
                Ответить
              • Скопипащу сюда лозунг говнокода из хедера:
                Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
                все как-то сходится. нашел. выдавил когда-то (причем непреднамеренно). нормальным назвать нельзя. улыбку, лично у меня, через полгода, вызвало. не рефакторил и запостил.
                а вас я не понимаю. "не знаешь как писать на рельсе, не смеши народ". Как вы могли по одному, грубо говоря echo, определить, знаю ли я писать на рельсе или нет? Или вас смутило то, что я не использовал <%=someCoolHelperWhichHasToBeRememberedA ndAnywaysGetsConvertedIntoPlainText[@album.playlist] %> ? да, как, по Вашему, лучше хранить плейлист в БД, не используя лишнюю таблицу? в одной строчке? может, в BLOB'e?
                "что бы уместиться на странице" - ну так я очень рад, если вы плейлист выводите одной строкой. ДА, я признаю, что можно было использовать список, но сокурсник мне принес ноут с открытой страницей, где для плейлиста в форме была textarea. и вопрос стоял - я ввожу плейлист туда, а выводит все в одну строку. И он был очень доволен от такого мелкого фикса. И это нужно было всего-то показать преподавателю в любом виде, а не думать о кошерной верстке.
                Ответить
        • лично мне руби нравится, если нужно быстро написать какой-то консольный скриптик. рельсы же мне не по душе из-за Convention-over-Declaration - как говорится, in Soviet Russia, рельсы учат тебя. Сейчас пишу форумный двиг на джаве (курсач) - с проблемками, но с удовольствием.
          Ответить
          • О, если будет возможно - хочу увидеть курсовую. Сам сейчас пишу информационную систему на Java на курсовую.
            Ответить
            • окей, напиши мне в скайп trueactine, запущу тебе гласфиш и ссылку дам (а так зачем он мне). получилось отстойно так как первое знакомство с джавой, в спешке и без лекций (оттого не знали, что преподу понравится а что нет. препод показательно обосрал 15/18 курсовых)
              Ответить
          • и сколько надо конфигов для проекта размера "интернет магазин" ?
            Ответить
            • не так уж и много.
              мне бы дольше пришлось на рельсах оверрайдить стандартное поведение этих всех хелперов и вообще логики (то что есть, далеко не всегда меня устраивает)
              Ответить
              • Вы всерьез полагаете что именно ваш случай не был предусмотрен разработчиками рельс? причем неоднократно? да еще в проекте сложности курсовой. хе хе хе

                именно из за этих хелперов рельса позволяет писать большие проекты в одиночку или малыми командами... а не создавать отделы по 20-30 java программистов.
                Ответить
                • наверное, это дело вкуса. мне не нравится, когда код что-то исполняет по-своему (p.s. читать - когда нужно использовать компоненты, которые транслируются в результат неочевидным и часто дурацким образом, примером тому фейсовые ссылки). реализация JavaServer Faces, на которой нас заставили писать, мне тоже ужасно не понравилась.
                  Ответить
          • Не по душе Convention over configuration? Ну и не надо, можешь сам себе написать всю конфигурацию вручную, я понимаю еще если переопределить настройки по умолчанию низзя, а так...
            Ответить
            • пробовал. оченна много время занимает. мне пока что быстрее и проще написать с нуля тот же php (и, кстати, не тот говно-рhp, а адекватный, с классами и минимальным разделением mvc). тем более в таких проектах, как форумный движок, БД-центричных (работа с БД > бизнес-логика)
              Ответить
    • Да, вот чем меня когда-то Руби отвратило, что в попавшихся примерах везде в строках вместо '\n' использовалась физическая разбивка строк.
      Ответить
      • При чем тут руби? На любом языке можно так же говнокодить или ты думаешь, что в руби нельзя использовать "\n"?
        Ответить
        • Да потом-то я узнал, что можно. Но осадочек остался.

          Мораль: не ешьте жёлтый снег не читайте для быстрого ознакомления всякую фигню, читайте официальную документацию.
          Ответить

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