惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
V
Visual Studio Blog
P
Privacy International News Feed
月光博客
月光博客
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
L
Lohrmann on Cybersecurity
N
News and Events Feed by Topic
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Apple Machine Learning Research
Apple Machine Learning Research
阮一峰的网络日志
阮一峰的网络日志
Webroot Blog
Webroot Blog
T
Threatpost
宝玉的分享
宝玉的分享
The Last Watchdog
The Last Watchdog
小众软件
小众软件
L
LINUX DO - 最新话题
C
Cisco Blogs
T
Troy Hunt's Blog
Schneier on Security
Schneier on Security
酷 壳 – CoolShell
酷 壳 – CoolShell
www.infosecurity-magazine.com
www.infosecurity-magazine.com
雷峰网
雷峰网
G
GRAHAM CLULEY
有赞技术团队
有赞技术团队
Know Your Adversary
Know Your Adversary
博客园 - 叶小钗
罗磊的独立博客
V
V2EX
博客园 - Franky
P
Proofpoint News Feed
SecWiki News
SecWiki News
腾讯CDC
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Jina AI
Jina AI
博客园 - 三生石上(FineUI控件)
S
Secure Thoughts
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Google DeepMind News
Google DeepMind News
Attack and Defense Labs
Attack and Defense Labs
人人都是产品经理
人人都是产品经理
The Cloudflare Blog
PCI Perspectives
PCI Perspectives
V2EX - 技术
V2EX - 技术
Google DeepMind News
Google DeepMind News
Last Week in AI
Last Week in AI
aimingoo的专栏
aimingoo的专栏
Cisco Talos Blog
Cisco Talos Blog
N
News and Events Feed by Topic
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
S
SegmentFault 最新的问题

博客园 - 寒星

2010年度总结 Win7、Windows Server 2008下无法在Windows Service中打开一个已经存在的Excel 2007文件问题的解决方案 企业IT部门的职责和定位(转摘) 09年度总结 重读《软件架构师职业导读》有感 向给我留言的朋友道歉 B/S应用中的ActiveX数字签名相关问题杂谈 兑现承诺,给出我出的面试题。 年后第一天上班 提前给大家拜个早年。 闻听家乡出现流脑病例,祝福ing... 走近COM Interop--编程以实现COM-->Assembly 年终了,准备换换环境。 开心ing,终于买到回家的车票了。 老婆的第一次产前检查 Small Tip One: 根据指定的IIS虚拟路径获取相应的物理路径 《十种不宜追随的老板》一文读后感 十种不宜追随的老板[转] 回顾 2004
凑热闹,Share自己写的另一个小工具--代码统计器。
寒星 · 2004-12-22 · via 博客园 - 寒星

  看了边城浪子提供的代码统计工具,不禁让我想起了,今年夏天写的一个类似的小工具。当时,是应一个朋友的要求写的,后来被他用于象老板证明自己的工作量了,完全出乎我的意料
截图如下:
功能:
1.
 通过配置修改配置文件,可以提供一定程度上的扩展性。(稍后会给出相应的Xml文件说明)
2.
 支持将统计结果生成RTF文件和PDF文件。(因为当时时间的原因,未提供生成HTML的功能)
3.
 支持对整个目录进行统计,同样的,不支持对单个文件的统计。因为,个人认为,对单个文件是没有必要进行代码行数统计的。 缺陷:
1.
 因为当时写这个小工具时,是用VS.Net 2002,没有选择整个目录的控件,所以,自己写了一个,写得不是很好,可能会存在一些问题。
2.
 这个工具在转入选定目录结构和分析计算时,对多线程的支持不是太好,这和当然自己在这方面的能力不强有关系。
如果有时间,且这个工具的确有点作用的话,我会把考虑它重新完善一下的。

注:此工具的PDF生成功能依赖于ITextSharp开源组件。
下面,介绍一下配置文件的结构。
<Configurations>
  <Languages>
    <Language type="CSharp">
   <!--
文件类型(即扩展名列表) -->
      <FileType>cs;aspx.cs;asmx.cs</FileType>
      <WrapSign isCounted="1">;</WrapSign>
      <Signature pair="0">///</Signature>
      <Signature pair="1">/*|*/</Signature>
      <Signature pair="0">//</Signature>
    </Language>
    <Language type="Delphi">
      <FileType>pas</FileType>
      <Signature pair="0">//</Signature>
      <Signature pair="1">(*|*)</Signature>
    </Language>
    <Language type="VB">
      <FileType>frm;bas;ctl;cls</FileType>
      <WrapSign isCounted="0"> _</WrapSign>
      <Signature pair="0">'</Signature>
    </Language>
    <Language type="C">
      <FileType>c;h;cpp</FileType>
      <WrapSign isCounted="1">;</WrapSign>
      <Signature pair="0">//</Signature>
      <Signature pair="1">/*|*/</Signature>
    </Language>
    <Language type="Javascript">
      <FileType>js</FileType>
      <Signature pair="0">//</Signature>
      <Signature pair="1">/*|*/</Signature>
    </Language>
  </Languages>
  <UI>
    <Options>
      <OptionItem id="IsRecursive" desc="
是否递归目录">1</OptionItem>
      <OptionItem id="IsAutoExpandAllNodes" desc="
是否自动展开所有的节点">1</OptionItem>
    </Options>
  </UI>
</Configurations>
上面,是此工具依赖的配置文件Config.xml的结构。很明显,Language元素定义的是一种编程语言被解析时的相关信息。相信,大家都可以看得懂。如果需要让这个工具对一种新语言予以支持的话,只要加一个Language元素,同时定义相关子元素就可以了。请注意UI元素中的内容不要自行修改,因为它是由程序进行控制。当然,你真的要改,我也没有办法。 下载地址:download   (终于上传成功了。看来家里的网络有点儿问题。)