Jawa / Говнокод #14514 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
class MyException extends Exception {
	/* конструкторы, геттеры-сеттеры и прочее-прочее */
	
	public void handle() { /* over 9000 строк */ }
}

class MyClass {
	public void myMethod() {
		try { /* ... */ }
		catch (MyException e) {
			e.handle();
		}
	}
}

исключение, которое обрабатывает, можно сказать, само себя, бред?

Запостил: evg_ever evg_ever, (Updated )

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

  • А что,
    public void myMethod() {
    		try { /* пара строк */ }
    		catch (MyException e) {
    			/* over 9000 строк */;
    		}
    	}

    смотрелось бы лучше?
    Ответить
    • Набрасываешь на вентилятор - так набрасывай по полной 😉
      // а что,
      public void myMethod() {
          try { /* пара строк */ }
          catch (MyException e) {
              /* over 9000 строк */;
          }
      }
      public void myAnotherMethod() {
          try { /* пара строк */ }
          catch (MyException e) {
              /* еще over 9000 строк */;
          }
      }
      // смотрелось бы лучше?
      Ответить
      • Ну это само собой, но мне представилось лицо человека который читает "так, это у нас метод myMethod, он почему-то 9к строк занимает, разберемся. Так, вот мы сделали действие, вот мы начинаем обрабатывать исключение, ну оно меня не интересует, проматываем... проматываем... да когда ж оно кончится". И потом уберет эту непонятную обработку назад в исключение и будет всем говорить как упростил метод до двух строк.
        Ответить
        • > уберет эту непонятную обработку назад в исключение
          *facepalm.png*

          Ну неужели эту хрень нельзя отрефакторить или хотя бы убрать в обычный метод, а не сувать в исключение? Если исключению хватило контекста для устранения проблемы, то и обычному методу его хватит. И вообще, метод на 9к строк это ёбаный пиздец в любом случае, куда его не инкапсулируй...

          P.S. Я даже не представляю, что можно делать 9000 строк в обработчике исключения... Оно там структуру какой-нибудь базы что ли обновляет до текущей версии?
          Ответить
          • Если хватает контекста чтобы засунуть обработчик исключения в исключения, то зачем вообще его кидать вместо обработки на месте??
            Ответить
            • Ну как, а вдруг кто-то захочет обработать его другим способом, не вызывая handle? 🙂

              P.S. Ждем ОП'а, может быть он сжалится над нами, и расскажет, чего там умудрились наклепать на 9000 строк.
              Ответить
          • Ну вот из головы - Year2kException, а в обработчике - распилы и откаты исправление всех дат с двузначные на четырехзначные. И вполне логично, что handle размещен в exceptione (можно конечно было отдельный класс для него сделать, но тогда будет два класса вместо одного).
            Ответить
            • > исправление всех дат с двузначные на четырехзначные
              Мсье знает толк в извращениях...

              Заранее, в плановом порядке, накатить апдейт заменяющий двузначные на четырехзначные уже не судьба? 🙂 Нафуя ждать до последнего?
              Ответить
              • Это не ко мне вопрос, просто пришло в голову как прикольный пример - объясняет почему 9000 строк и почему находится в исключении.
                Ответить
    • я в итоге так и сделал *facepalm* правда, отрефакторил и вместо over 9000 получилось 36 строк без комментариев, но всё равно многовато
      Ответить

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

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

    А не использовать ли нам bbcode?


    8