初探宏的强大之注释

来源:岁月联盟 编辑:exp 时间:2012-07-23

今天在牛老师的视频中提到了vs中代码的注释,网上关于注释的资料很多。以前也弄过,就是机器般的跟着步骤做的,没有想过更多,以至于这次再弄还要重新百度。连接地址,步骤很详细。 
 关于vs的两种注释,一种是改模版的代码,一种是利用宏项目修改模板。我认为第一种方式较为死板,从修改的角度来说,不容易修改,如果我们要进行修改,那要首先找到文件所在的位置,再进行修改,且修改的工作量是很大的,类模板,接口模板,窗体模版等等。对一种语言修改完毕还要修改其他的语言,工作量可想而知。 而第二种方法,看似麻烦些,但是可以提高我们的效率。

首先简单的说说宏的定义,计算机术语中的宏,是这样说的,就是一些命令组织在一起,作为一个单独命令完成一个特定的任务。MicrosoftWord中对宏的定义为:”宏就是能组织到一起作为独立的命令使用的一系列word命令,为什么使用宏,因为它能使我们的日常工作变的更容易“。 宏是一种抽象的,根据一系列预定义的规则替代的文本模式。宏的用途? 在于自动化频繁使用的序列或者是获得一种更强大的抽象能力。

宏定义可以防止出错,提高可移植性,可读性,方便性 等等,学过c ,c中有使用过宏定义,也是简单的使用。 宏可以简单理解为是一个“函数”,vs中的宏项目和Excel word中类似(都是微软的东东),ALT+F8 显示我们的宏项目以及项目的资源管理器。我们可以在vs的工具--宏--新建宏项目,建立自己的要添加注释的功能模块,我们可以看出编写宏项目的代码类似于我们的VB.net,网上说是VBA语言。我们可以在宏项目中添加项,包括模版,类,代码文件,在这里我们添加的是模版,给模版起一个可唯一标识其特点的名字,比如我要给C#头文件加注释,所以模版项目起名为CSharp_HeadFileNote,之后就是写代码了,就拿最近我们提高班群里新共享的提高班.net代码编写规范来说。

具体的代码:
Public Module HeadFileNoteCSharp 
    Sub DocumentFileHeader() 
        Dim doc As Document 
        Dim docName As String 
        Dim companyName As String = "信息技术提高班 第三组" 
        Dim authorName As String = "邢海芳" 
 
        'Dim copyrightText As String = String.Format("Copyright (c) {0} {1}. All rights reserved.", Date.Now.Year, companyName) 
 
        ' 从程序中获得文件的名字 
        doc = DTE.ActiveDocument 
 
        '获得当前编辑类的名字 
        docName = doc.Name 
 
        ' 将添加焦点定位在文件首部 
        DTE.ActiveDocument.Selection.StartOfDocument() 
 
        ' 添加一个版权和作者说明 
        DTE.ActiveDocument.Selection.Text = "/*************************************************" '以String类型添加自己想要的符号、文字" 
        DTE.ActiveDocument.Selection.NewLine() '添加一个空行 
        DTE.ActiveDocument.Selection.Text = "作者:   " + authorName 
        DTE.ActiveDocument.Selection.NewLine() 
        DTE.ActiveDocument.Selection.Text = "小组: " + companyName 
        DTE.ActiveDocument.Selection.NewLine() 
        DTE.ActiveDocument.Selection.Text = "说明:" 
        DTE.ActiveDocument.Selection.NewLine() 
        DTE.ActiveDocument.Selection.Text = "创建日期:" + String.Format("{0:D}", Date.Now + Now.TimeOfDay) 
        DTE.ActiveDocument.Selection.NewLine() 
        DTE.ActiveDocument.Selection.Text = "版本号:V 1.00" 
        DTE.ActiveDocument.Selection.NewLine() 
        DTE.ActiveDocument.Selection.Text = "**********************************************/" 
 
 
        
    End Sub 
 
 
     
End Module 

最主要的是vs为我们提供了快捷的方式去调用宏,我们可以把每一个自己编写好的宏模块,加上快捷键,让我们使用起来方便。
vs中工具--选项--键盘,在“显示命令包含“中输入我们的关键字,选定命令的快捷键,选择快捷键的应用范围,执行快捷键的分配,这样就可以调用我们建的宏项目啦。我们可以给不同语言的注释编写不同的宏项目,再自定义不同的快捷键,就不用去改vs自带的新建项的模版了。
得到的效果如下。

写到这让我想到了这很类似于sql中的存储过程,把一系列的功能语句写在一起,起个名字,再去调用。从粗糙理解的角度上来说是相似的,但要知道他们又是大大不同滴。
作者:xhf55555