1. C# / Говнокод #13157

    +124

    1. 1
    2. 2
    3. 3
    4. 4
    public void LogInDB(Exception ex)
    {
          // TODO: реализовать
    }

    А мы то голову ломаем, чего в старых методах на сервере ошибки не логируются!

    Запостил: NeoN, 11 Июня 2013

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

    • т.е. залогиниться - это что-то из ряда вон выходящее, сродни делению на ноль?
      Ответить
      • > залогиниться
        Залогировать...
        Ответить
      • Меня больше интересует почему ТС TODO не просматривал.
        Ответить
        • потому что само наличие метода - абсурд.
          Ответить
          • А что не так с методом? Это походу самая обычная запись экцепшена в базу на центральном сервере, чтобы потом логи с клиентов не выгребать и не плодить лишних коннектов, передающих логи другими способами.
            Ответить
            • а то, что он должен инлайниться, с вызовом специально настроенно логгера.
              Ответить
              • Жаба - это технология, в которой ручной копипаст и инлайнинг считаются правилами хорошего поведения.
                (Logger)Container.get(Logger.class.getName()).log("Вот так правильно?");
                Ответить
                • @Inject
                  private Logger logger;
                  
                  void doSmth() {
                    this.logger.log("упс");
                  }
                  или
                  @Log
                  void doSmth() {
                  }
                  Ответить
                  • Про инъекцию понял, надо осилить как-нибудь Spring.

                    А аннотация @Log как работает? Логирует все исключения, возникшие в помеченном ей методе и отпускает их дальше?
                    Ответить
                    • аннотация @javax.inject.Inject не специфична для Spring, а есть в любом IoC контейнере

                      да, @Log именно так и работает, декорирует любой метод на логирование исключений
                      Ответить
                    • з.ы. пользуясь случаем, прорекламирую свой любимый фреймворк
                      http://tapestry.apache.org
                      , и даже дам ссылку на проект-пример, который можно использовать как quickstart
                      https://dl.dropboxusercontent.com/u/73797209/heartsong.zip
                      Ответить
                      • Блин, почему я pom всегда читаю как porn?
                        Ответить
                        • Зрение? Шревты?
                          Ответить
                        • > почему я pom всегда читаю как porn?
                          потому что тоже дофига грязного траха со стонами и матом по своей камасутре
                          Ответить
                          • Это вы, батенька, кресты давно не собирали. Наверняка про это кто-то уже снял порно.
                            Ответить
                            • > Наверняка про это кто-то уже снял порно.
                              правило №34 еще никто не отменял
                              Ответить
                • Жаба - это С++ со сборкой мусора и без шаблонов.
                  Ответить
                  • generic'и есть. практически те же шаблоны
                    Ответить
                    • > практически те же шаблоны
                      О, нет. Далеко не тоже самое. Но в целом жить можно.
                      Ответить
                    • Ничего подобного, только внешне похожи - внутри совсем разные вещи. А во всему причиной шарпеевская (ну и жабоидная) типобезопастность.
                      Ответить
    • Надо не туду писать, а NotImplemented кидать.
      Ответить
      • Так оно же падать будет.
        Ответить
        • так надо ловить :) и в обработчике писать уже TODO:
          Ответить
          • Зеленая краска кончилась? ;)

            Здесь TODO стояло в одном месте, и достаточно было реализовать этот метод. А если ловить и писать TODO в обработчиках - то потом их все искать и выпиливать...
            Ответить
            • >Зеленая краска кончилась? ;)
              летом и так всё зеленое :) экономлю
              Ответить
          • А в обработчике логировать сообщение об ошибке
            Ответить
            • Ну вариант, конечно, но почему тогда просто не вывалить Function xxx not implemented в лог прямо из нее самой? Раз уж мы не хотим делать отсутствие этой функции фатальным.
              Ответить
    • Это вин!
      Ответить

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