1. JavaScript / Говнокод #3567

    +144

    1. 1
    var oneWeekAgo = dateObj.valueOf() - 604800000;

    "Ура! у меня есть калькулятор!!1"

    Запостил: mozg_raka, 25 Июня 2010

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

    • В чём говнокод? Прокомментировать магическое число, и нормально будет. Ну ещё getTime() вместо valueOf() для большей очевидности. Или я что-то не улавливаю?
      Ответить
      • ну кагбе создать final int ms_WEEK = 1000*3600*24*7;
        было бы кошернее
        Ответить
        • > final int
          Это JS, а не Java.
          > 1000*3600*24*7
          Зло, имхо.
          Ответить
          • >>Это JS, а не Java.
            на автомате написал ))

            в чем именно зло?
            в умножении или в числах вместо констант?
            Ответить
            • В умножении. Нет смысла при каждом запуске вычислять одно и то же. Выносить же здесь магическое число в константу смысла не вижу, если кусок скрипта изначально пишется под недельный интервал без прикидки на будущее изменение. Достаточно просто короткого комментария, откуда взялось число 604800000.
              Ответить
              • >Нет смысла при каждом запуске вычислять одно и то же
                Javascript портировали на Mark I?

                >Достаточно просто короткого комментария
                Зачем писать
                - 604800000; // 1000*3600*24*7
                когда можно написать
                - 1000*3600*24*7
                Ответить
                • Корпение над вопросами производительности мелочей - годная тема для холиваров, да. По-моему, тут каждый строчит как хочет. В общем, предлагаю не разводить демагогии, тем более что мы до сих пор не услышали мнения автора, в чём, собственно, говнокод-то.
                  Ответить
                • >>Javascript портировали на Mark I?

                  Сюда:
                  http://ru.wikipedia.org/wiki/%D0%A4%D0%B0%D0%B9%D0%BB:British_Mark_I_ Tank.jpg

                  ?
                  Ответить
                  • доставило ))
                    но есть еще такая древняя ЭВМ с произодительностью ниже калькулятора
                    Ответить
        • А почему не так
          const MS_IN_WEEK = MS_IN_SEC * SEC_IN_HOUR * HOURS_IN_DAY * DAYS_IN_WEEK
          Ответить
          • >>const MS_IN_WEEK = MS_IN_SEC * SEC_IN_HOUR * HOURS_IN_DAY * DAYS_IN_WEEK
            я так обычно и пишу, когда константы используются в проекте в нескольких местах это было для краткости и понятности
            Ответить
          • const в JS же не работает в половине браузеров, нет?
            Ответить
            • Так точно.
              Ответить
            • Не работает только в ИЕ, который многие и за браузер не считают )) Т.е. если бы не var, а const, то код нормальный?
              Ответить
              • Может и не считают, да только 85% юзверей на нем сидит.

                Я бы сделал префикс, что бы показать что это константа.

                var c_MS_IN_WEEK = ....
                как-то так
                Ответить
                • судя по тому, как меня минусуют, всем нравится писать
                  i = 42 * 100500 - 3;
                  Ответить
                  • отминусовали 85% юзверей, сидящих на осле
                    Ответить
                  • честно говоря, меня устраивает решение
                    const MS_IN_WEEK=604800000; // 1000*3600*24*7


                    а плодить ради одной константы еще кучу констант
                    >MS_IN_SEC * SEC_IN_HOUR * HOURS_IN_DAY * DAYS_IN_WEEK
                    как существо крайне ленивое, считаю совершенно излишним

                    з.ы. хоть заминусуйтесь, ниипет, чесна-чесна-ё.
                    Ответить
                • Зачем префикс? Разве заглавных букв мало, чтобы было понятно, что это константа?
                  Ответить
      • Да, может даже и комментировать не надо — oneWeekAgo далеко не двусмысленно. В последнее время на Говнокоде совсем на константах помешались. Чтоб сделать простейшую операцию нужно констант наплодить и 10 строчек комментариев накатать.
        Этот код прост и понятен, проще уже некуда.
        Ответить
        • На чём тут реально помешались, это на заливке своих поделий и просьбах прокомментировать. Ладно хоть сессия к концу подходит, а у кого-то кончилась уже.
          Ответить
    • показать все, что скрытоЯ размножаюсь почкованием и гермофрадитными отростками. Держите меня семеро! Начинаю...
      Ответить
    • Ой говнокод... Тут нужна константа.
      Ответить

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