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

推荐订阅源

GbyAI
GbyAI
爱范儿
爱范儿
Y
Y Combinator Blog
T
Tor Project blog
V
Visual Studio Blog
U
Unit 42
B
Blog RSS Feed
博客园 - 叶小钗
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
阮一峰的网络日志
阮一峰的网络日志
T
Tailwind CSS Blog
G
Google Developers Blog
I
InfoQ
Stack Overflow Blog
Stack Overflow Blog
IT之家
IT之家
Microsoft Azure Blog
Microsoft Azure Blog
T
The Blog of Author Tim Ferriss
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
The Cloudflare Blog
Google DeepMind News
Google DeepMind News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
H
Hackread – Cybersecurity News, Data Breaches, AI and More
F
Fortinet All Blogs
人人都是产品经理
人人都是产品经理
Apple Machine Learning Research
Apple Machine Learning Research
The GitHub Blog
The GitHub Blog
Recorded Future
Recorded Future
博客园_首页
罗磊的独立博客
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
量子位
P
Proofpoint News Feed
Jina AI
Jina AI
博客园 - 【当耐特】
S
Security @ Cisco Blogs
I
Intezer
MyScale Blog
MyScale Blog
Simon Willison's Weblog
Simon Willison's Weblog
P
Privacy & Cybersecurity Law Blog
腾讯CDC
T
Tenable Blog
A
Arctic Wolf
T
Threat Research - Cisco Blogs
S
Securelist
Know Your Adversary
Know Your Adversary
Spread Privacy
Spread Privacy
C
Check Point Blog
NISL@THU
NISL@THU
Microsoft Security Blog
Microsoft Security Blog
V
Vulnerabilities – Threatpost

博客园 - 寒星

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   (终于上传成功了。看来家里的网络有点儿问题。)