VFP学习、开发漫谈 (十)
今天与大伙聊一聊有关代码中的“注释”问题。今天的问题,对于高手们来说可能过于简单了,权当抛砖引玉吧。首先,需要弄明白以下几个问题。
第一:为什么要在程序中添加注释?
添加注释的目的,纯粹是为了提高代码的可读性。特别是,当你修改其他人编写的代码,或对自己很久以前开发的代码进行修改时,若没有注释,会很吃力。
第二:添加注释会不会增加程序的大小?
肯定会增加源代码的大小,但不会增加最终 EXE 文件的大小,因为在编译时会忽略注释。
第三:什么时候添加注释较合适呢?
我的看法是,对于新开发的项目,在分模块调试完成后添加注释是比较合适的。若在编写代码的过程中添加注释,可能会打断思路。时间隔的久了,又容易遗忘原来的编程意图和细节。
在对已有项目进行修改时,在修改的过程中应该即时添加注释,并且对每个修改点都应该添加,以说明本次修改的原因。另外,不要直接修改原代码,而应该将原代码注释掉,再在原代码的下方添加新代码。这样做的好处是,便于新代码出现问题时查找原因。当然,在程序运行一段时间,确认修改过的代码无问题后,也可以将以前注释掉的代码删除。
第四:既然注释这么重要,是否需要对每一行都添加注释?
不需要。我一般采取如下原则:
1. 对于自定义函数以及表单的自定义方法,在代码的开头添加注释行,说明代码的功能、参数和返回值。
2. 把代码按照功能划分成若干段,每段之间用空行分隔,并在每段的首行说明该段代码实现的功能
3. 一般来说,分支结构和循环结构都要添加注释。其他语句可根据用户的习惯和经验酌情处理。
4. 对于放在代码行后面的注释,最好使用 TAB 键与其他行的注释对齐,并使注释与代码保持一定的间距,这样,代码看起来更整洁
在对代码进行调试时,经常需要对代码添加注释标记,使其暂时不起作用,待调试完后再移去注释标记。对于单行代码,在行首添加 * 即可。对于多行代码,我一般使用“Format”菜单中的“Comment(注释)”和“Uncomment(取消注释)”。不过,频繁地选择菜单,太麻烦了,如果有一个快捷键就好了。
下面,我们就指定一个快捷键 Ctrl+M,当按下 Ctrl+M 时为选定代码添加注释标记。另外,再指定一个取消注释标记的快捷键 Shift+Ctrl+M
选择菜单“Tools - Macros”打开宏窗口,单击“New”按钮,在“Defined Key”文本框中按下 Ctrl+M,在“Macro contents(宏内容)”框中输入“{ALT+O}m”,如下图所示:
同理,再指定一个快捷键 Shift+Ctrl+M,不同的是,在“Defined Key”文本框中按下 Ctrl+Shift+M,在“Macro contents(宏内容)”框中输入“{ALT+O}n”,如下所示:
在下面的宏对话框中,单击“Set Default”按钮,使这里定义的宏一直有效:
选定多行代码,按下Ctrl+M 即可快速为选定行添加注释标记,再按下Shift+Ctrl+M 即可快速取消注释,十分方便。
记得在九十年代,我经常使用一个叫 CCED 的软件作为 Foxbase 的代码编辑器。其中有一项功能:若要删除一行代码,无需选定该行代码,只要按下 Ctrl+Y 即可。在 VFP 中能实现吗?
完全可以。同样,还是使用宏。按下图所示增加一个宏即可:
这个宏的意思是,先按下 HOME 键将光标移至行首,然后按下Shift+↓选定整行,最后按下 Ctrl+X 将整行剪切。
宏不能随意定义,特别是不要与系统定义的快捷键冲突。为此,在定义宏之前,先看一看系统菜单,了解哪些快捷键已被使用、哪些快捷键未被使用。
对于注释符“&&”,我再啰嗦几句:
1. “&&”既可以放在行首,使整行都作为注释行(此时,与 * 功能相同),也可以放在代码行的后面
2. “&&”与代码之间无需用空格分隔,当然,用 TAB 分隔更好
3. 在续行符“;”后,也可以添加“&&”注释,并不会影响当前行与下一行的关系
[ 本帖最后由 liuxingang28 于 2014-3-12 16:43 编辑 ]