初探宏的强大之注释

今天在牛老师的视频中提到了vs中代码的注释,网上关于注释的资料很多。以前也弄过,就是机器般的跟着步骤做的,没有想过更多,以至于这次再弄还要重新百度。连接地址,步骤很详细。http://blog.csdn.net/beijiguangyong/article/details/6371504 

 关于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自带的新建项的模版了。

得到的效果如下。



修改代码的注释.

Public Module ModifyVB

    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 = "'修改人:"   '修改人为.
        DTE.ActiveDocument.Selection.NewLine() '添加一个空行
        DTE.ActiveDocument.Selection.Text = "'修改日期为:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")   '修改的日期时间.
        DTE.ActiveDocument.Selection.NewLine() '添加一个空行
        DTE.ActiveDocument.Selection.Text = "'备份: "   ' 下面备份的是要修改的代码.
        DTE.ActiveDocument.Selection.NewLine() '添加一个空行
        DTE.ActiveDocument.Selection.Text = "'要修改的源码内容,备份于此"  '把修改的源码放到这个多行注释里面.
        DTE.ActiveDocument.Selection.NewLine() '添加一个空行
        DTE.ActiveDocument.Selection.NewLine() '添加一个空行
        DTE.ActiveDocument.Selection.NewLine() '添加一个空行

        DTE.ActiveDocument.Selection.Text = "'添加人:" '修改源码的人的姓名
        DTE.ActiveDocument.Selection.NewLine() '添加一个空行
        DTE.ActiveDocument.Selection.Text = "'添加日期:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")  '添加代码的日期时间.
        DTE.ActiveDocument.Selection.NewLine() '添加一个空行
        DTE.ActiveDocument.Selection.Text = "'要添加的代码内容如下所示:" '要添加的代码内容.
        DTE.ActiveDocument.Selection.NewLine() '添加一个空行
        DTE.ActiveDocument.Selection.NewLine() '添加一个空行
        DTE.ActiveDocument.Selection.Text = "'结束" '添加的代码结束内容.





    End Sub

效果如下:


CSharp修改代码的注释.与上面的同.只需把 " ' " 改为///就行啦.


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



评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值