Нахождение попытки за исключением или, наконец,

Я имею в виду некоторый код, который имеет фантастически длинные методы (10 тыс. Строк!) И несколько странное использование блоков try-finally и try-Кроме. Некоторые из них сами по себе длинные и не всегда имеют попытку в начале метода.

Очевидно, я пытаюсь реорганизовать код, но в то же время было бы гораздо проще исправить пару распространенных патологий, если бы я мог перейти к началу блока и посмотреть, что там происходит. Когда осталось более 20 страниц, найти его даже с радугой CNPack ("подсветка структуры кода") просто утомительно.

Я использую D2010 и у меня установлены GExperts (с DelForExp), CNPack и DDevExtensions, но я не могу найти ничего, что позволило бы мне перейти от попытки к окончанию или назад. Я что-то пропустил? Есть ли еще одна надстройка, которую я могу использовать, чтобы получить это?

2 ответа

Решение

GExperts имеет это в редакторе Эксперты: "Перейти к разделителю соответствия", с комбинацией клавиш Ctrl+Alt+Right по умолчанию. Если вы вызываете его несколько раз, цикл try к соответствию finally или же except, чтобы end, затем вернемся к try, и так далее.

Если вы собираетесь провести рефакторинг кода, я бы посоветовал вам назвать каждый блок кода Try Except/finally End и переместить его в отдельную функцию / процедуру в методе main.

Второй совет, начните с самой внутренней попытки, за исключением / наконец, заканчивайте блок кода.

procedure class1.method1 ;
var
   anyVariables : ... ;
begin
 ....
 try 
 ....
 finally
 ... 
 end ;
 ....
end ;

,

procedure class1.method1 ;
var
   anyVariables : ... ;
   procedure first_try_finally_block ;
   begin 
      try 
      ....
      finally
      ... 
      end ;
   end ;
begin
 ....
 first_try_finally_block
 ....
end ;

Я надеюсь, что это поможет вам решить вашу проблему.

Другие вопросы по тегам