正在查找except或finally的尝试



我正在处理一些代码,这些代码有非常长的方法(10k行!)和一些奇怪的try-finaly和try-except块用法。后者中的一些人本身就很长,在方法开始时并不总是尝试。

很明显,我正在尝试重构代码,但与此同时,如果我能跳到一个块的开头,看看那里发生了什么,那么修复几个常见的病态会容易得多。当它还有20多页的时候,即使有CNPack彩虹("代码结构亮点")也很乏味。

我正在使用D2010,并安装了GExpert(带有DelForExp)、CNPack和DDevExtensions,但我找不到任何可以让我从尝试跳到最终或返回的东西。我是不是错过了什么?有没有其他插件可以让我使用?

GExpert在编辑器专家中有它:"移动到匹配的分隔符",默认情况下使用键盘快捷键Ctrl+Alt+Right。如果重复调用它,它会从try循环到匹配的finallyexcept,到end,然后返回到try,依此类推

如果您要重构代码,我建议您命名每个Try-Except/finaly-End代码块,并将其移动到主方法中的一个单独的函数/过程中。

第二条建议,从最内部的try-except/最终结束代码块开始。

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 ;

我希望这将帮助你解决你的问题。

最新更新