嗨,BIGAL,只是从我的角度分享印象:
好吧,lisp替代方案(显然)只是动态创建dcl文件。
我同意使用用户表单似乎要容易得多 - 关于对话框的灵活创建以及为每个磁贴指定子例程。
但是我看到的主要优点是,你有标准DCL不可用的磁贴:
- ComboBox
- TabStrip
- 多页
当然,你可以模拟一个类似的行为(例如,使用按钮和嵌套对话框,代表“多页”控件)。
还有一个程序允许生成(标准)DCL代码,同时创建类似于VBA的用户窗体的对话框 - 但我仍然没有尝试过。
我更喜欢使用NP ++和“Indent By Fold”插件来快速轻松地格式化,只需双击一个单词即可突出显示其所有实例(defun)。
另一件事是,当我在主 defun 中本地化了 defun 时,我会保留一个有用的结构:
- (defun C:TestMain ( / SubDefun1 SubDefun2 SubDefun3 *error* var1 var2 var3 var3 ) ;
-
- (defun SubDefun1 ...)
- (defun SubDefun2 ...)
- (defun SubDefun3 ...)
-
- (defun *error* ...) ;
-
- ; And now here starts the main code:
- (setq
- var1 ...
- var2 ...
- var3 ...
- )
- )
-
另一个重要的规则是marko_ribar在我的线程上关于处理非常大/长程序的建议。
从那时起,我从未迷失在我的LISP代码中并且很容易维护它,所以我的调试任务仅限于可疑的评估(其余的都是根据经验,直觉和其他人的例子编写的)。
这就是我从未使用过VLIDE的原因,而是使用NP ++(我对在VLIDE中从头开始编写代码感到不舒服)。但是,我经常使用VLIDE的控制台来检查/跟踪评估,我不确定它们的返回以及它们是否会出错。
|