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

    −151

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    try:
       if respond[0] == 'command':
           self.servercommands.append(respond)
       else:
           raise KeyError('Invalid type')
    except (TypeError, IndexError, KeyError):
       self.responds.append(respond)

    Запостил: roku, 29 Июня 2010

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

    • Не понимаю, что делает код :(
      Если в respond команда - добавить в список серверных команд, иначе сгенерировать исключение.
      Дальше тотчас же ловится исключение и добавляется в respond.
      Говнокодистость в использовании исключений когда можно было простым if?
      Думаю, что просто внутренний кусок писал один человек, а внешний - другой.
      Ответить
    • все дело в том что от сервера может придти или команда на какое-то действие или просто обычный ответ на какой-нибудь запрос клиента)) и вот если это не команда то происходит вызов exception'а)) и то что прислал сервер добавляется в respond

      а если делать простым if'om то надо также обрабатывать respond[0] так как команда приходит в виде массива а ответ в виде обычного текста. решил сделать так) короче хуле) хотя читабельнее было бы если бы переделал архитектуру протокола, чтобы все передавалось в виде массивов, но лень) но по крайней мере в следующий раз так делать не буду)
      Ответить
    • self.servercommands.append(respond) if isinstance(respond, list) and respond[0] == 'command' else self.responds.append(respond)
      Ответить

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