1. Python / Говнокод #4451

    −100

    1. 1
    2. 2
    3. 3
    s = 'blablabla'
    if s[:7] <> 'http://':
       s = 'http://%s' % s

    Запостил: blednolicui, 26 Октября 2010

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

    • Постящему не понравилась жесткая инициализация в первой строке?
      Ответить
      • В каждом языке есть определенные стандарты кодирования, в Python, к примеру, есть PEP8. Да, этот код валидный, но ведь можна написать и по человечески

        if s.startswith('http://'):
        s = 'http://%s' % s

        В добавок, если кто-то ни ищет легких путей и считает такой код вменяемым, то зачем тогда вообще использовать преодпределенные функции, если можна везде использовать такой прекрасный велосипед с 2 рулями и без сиденья:)
        Ответить
        • Я понимаю, что корректнее будет использовать предопределенные функции, но :

          1) К чему тогда первая строчка ?=)
          2) IMHO, в подобном недочете недостаточно говна, что бы его сюда постить.
          Ответить
          • 1) ни к чему:)
            2) А если бы вам пришлось работать с чужим кодом, который бы был написан в такой манере, как долго бы вы смогли это делать и не начать приводить его в порядок? На будущее, буду знать, что у "говнокода" есть свои степени градации по говнистости
            Ответить
            • К сожалению, здесь чаще плюсуют одинаковые ГК, авторы которых просто не знакомы с массивами и/или циклами.
              Ответить
        • Лол, отрицание потерялось.
          Ответить
    • К тому же <> deprecated, нужно использовать != . А я бы сделал так xD:
      s = "%s%s" % ((lambda s, p: (p, "")[s.startswith(p)])(s, "http://"), s)
      Ответить

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