VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
查看: 11199|回复: 36

VB流言终结贴 - 流言3(代码中的注释会增大生成的程序)

[复制链接]
 楼主| 发表于 2008-3-27 17:25:37 | 显示全部楼层 |阅读模式
VB6.0流言终结贴即将将推出,本帖将逐渐收集出VB中广为流传的各种传奇流言。然后通过实验来逐一将其证实或者戳穿。同时也欢迎各位提出自己的疑点和问题,或者是参与到我们的实验中来。

(能力所限,难免有错漏。欢迎指正。)

流言:
代码中如果写了太多的注释,会导致生成的exe程序体积庞大。
测试如下:
(测试环境VB6+winxp_sp2)
首先我们建立一个很简单的测试工程
Option Explicit

Private Sub Form_Load()
MsgBox "hello world!"
End Sub

然后生成一次exe程序,并记录下程序的大小。
16.0 KB (16,384 字节)

然后我们在其中写入大量注释
(我特意挑选了一个1M多的文本文件,将其中的内容全部复制进去。然后注释掉)
再生成一次exe程序,并再次查看程序的大小。
16.0 KB (16,384 字节)

结果完全一模一样。

这个流言的结论就是:
注释的多少完全不会影响生成的exe程序的大小。

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
1、本系列帖子说的VB均指VB6.0版本。除非特别说明,否则操作系统环境均为xp+sp2。
2、本系列帖子所说的结论只是对客观现象简单的推断,水平有限,难免错漏欢迎指正。
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

[ 本帖最后由 VBProFan 于 2008-3-29 10:21 编辑 ]

评分

参与人数 4威望 +11 人气 -3 收起 理由
socket478 -1 抄袭
hovidelphic -2 此人脑子有问题,乱封别人帐号。
bshkl + 1 我还是试过
炉子 + 10 原创内容

查看全部评分

发表于 2008-3-27 17:42:58 | 显示全部楼层
这个...

记得以前有一个 BT 的 C 编译器允许将注释写入程序...
回复 支持 反对

使用道具 举报

发表于 2008-3-27 19:01:34 | 显示全部楼层
我觉得轻易下结论不是什么好事......

[ 本帖最后由 nbdld 于 2008-3-27 19:52 编辑 ]
回复 支持 反对

使用道具 举报

发表于 2008-3-27 19:27:23 | 显示全部楼层
这个...

VB6 似乎是不会把注释写到程序里的...

不过我仍然坚持不写注释的坏习惯...

屏幕无论多大我都嫌小... 55
回复 支持 反对

使用道具 举报

发表于 2008-3-27 19:43:15 | 显示全部楼层
http://www.vbgood.com/viewthread.php?tid=67798&extra=page%3D2

事实证明不仅仅是我一个人遇到过这个现象

而貌似版主也应该看到了这个帖子,然后写了几句代码就轻易的下了结论了吧
回复 支持 反对

使用道具 举报

发表于 2008-3-27 19:51:08 | 显示全部楼层
3楼说得就太偏激了吧 呵呵
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-27 19:56:10 | 显示全部楼层
恩,三楼的建议很好,不知道为什么删掉了呢?今天连发三贴的确是太匆忙了。明天我会补上各种编译选项下的测试结果。至于VB版本则统一为6.0 毕竟大部分人(包括我自己)用的都是6.0的版本。
回复 支持 反对

使用道具 举报

发表于 2008-3-27 21:28:23 | 显示全部楼层
原帖由 nbdld 于 2008-3-27 19:43 发表
http://www.vbgood.com/viewthread.php?tid=67798&extra=page%3D2

事实证明不仅仅是我一个人遇到过这个现象

而貌似版主也应该看到了这个帖子,然后写了几句代码就轻易的下了结论了吧


很简单,如果你有反证请拿出来~~~我只相信我眼睛所看到的
回复 支持 反对

使用道具 举报

发表于 2008-3-27 21:51:28 | 显示全部楼层

代码注释约定

正常来说注释是不会编译到exe里面去的,程序一般都提倡加注释,程序的后期维护工作很重,注释起了很关键的作用

看看MSDN对注释的解释:



  1. [b]代码注释约定[/b]

  2. 所有的过程和函数都应该以描述这段过程的功能的一段简明注释开始(这段例程干什么)。这种描述不应该包括执行过程细节(它是怎么做的),因为这常常是随时间而变的,而且这种描述会导致不必要的注释维护工作,甚至更糟--成为错误的注释。代码本身和必要的嵌入注释将描述实现方法。

  3. 当参数的功能不明显且当过程希望参数在一个特定的范围内时,也应描述传递给过程的参数。被过程改变的函数返回值和全局变量,特别是通过引用参数的那些,也必须在每个过程的起始处描述它们。

  4. 过程头注释块应该包括下列节标题。关于例子,请参阅下节“格式化代码”。

  5. 节标题 注释描述
  6. 目的 该过程完成什么(而不是怎么完成)。
  7. 假设 列出每个外部变量、控件、打开文件或其它不明显元素。
  8. 效果 列出每个被影响的外部变量、控件、或文件及其作用(只有当它不明显时)。
  9. 输入 每一个可能不明显的参数。参数分别在单独的行上,并嵌入注释。
  10. 返回 函数返回值的说明。


  11. 记住下列几点:

  12. 每一个重要变量的声明应该包括一个嵌入注释,来描述该变量的使用。


  13. 变量、控件及过程的命名应该足够清楚,使得只有复杂的执行细节才需要嵌入注释。


  14. .Bas 模块包含工程的 Visual Basic 一般常量声明,在其起始处,应该包括描述应用程序的综述,列举主要数据对象、过程、算法、对话、数据库及系统需求。有时,一段描述算法的伪码可能会有所帮助。
  15. 格式化代码
  16. 因为许多程序员仍然使用 VGA 显示器,所以在允许代码格式来反映逻辑结构和嵌套的同时,应尽可能地省屏幕空间。下面列出几点:

  17. 标准的、基于制表位的嵌套块应该被缩进四个空格(缺省情况下)。


  18. 过程的功能综述注释应该缩进一个空格。跟在综述注释后面的最高级的语句应该缩进一个制表位,而每一个嵌套的块再缩进一个制表位。例如:
  19. '*****************************************************
  20. '目的:      在用户列表数组中找出
  21. '            一个指定用户的第一次出现位置。
  22. '输入:
  23. '   strUserList():   被搜索的用户列表。
  24. '   strTargetUser:   要搜索的用户名。
  25. ' 返回:   在rasUserList 数组中rsTargetUser
  26. '            的第一次出现的索引。
  27. '            如果目标用户没找到,返回-1。
  28. '*****************************************************

  29. Function intFindUser (strUserList() As String, strTargetUser As _
  30.    String)As Integer
  31.    Dim i As Integer            ' 循环计数器。
  32.    Dim blnFound As Integer      ' 目标寻找标志。
  33.    intFindUser = -1
  34.    i = 0
  35.    While i <= Ubound(strUserList) and Not blnFound
  36.       If strUserList(i) = strTargetUser Then
  37.          blnFound = True
  38.          intFindUser = i
  39.       End If
  40.    Wend
  41. End Function

复制代码


所有的过程和函数都应该以描述这段过程的功能的一段简明注释开始(这段例程干什么)。
可见微软对写注释的重视程度及其作用!
回复 支持 反对

使用道具 举报

发表于 2008-3-27 21:52:15 | 显示全部楼层
微软本身是提倡对程序注释的,这点是很肯定的!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

文字版|手机版|小黑屋|VBGood  

GMT+8, 2019-7-19 18:18

VB爱好者乐园(VBGood)
快速回复 返回顶部 返回列表