最近在学习Python,之前也练习过,但时间一长有些东西还是有一点生疏,如果仅仅停留在看的级别上,那么对一门语言的学习也仅仅停留在了解的基础上。
今天闲着无聊,便动手写了一个计算Java代码有效行数的这样一个DEMO,里面用到了正则表达式,这个东西w 我现在用起来还是比较吃力的,纵观整个代码不过100行,但确实用了我今天一天的时间。
这个DEMO,不计算空行、单行注释、多行注释,只计算有效代码(其实后面应该把import以及花括号独在一行的代码也不计算在内,但目前没有处理)
代码很短,有些关键地方也进行了注释,其他的就不在赘述。
#coding=UTF-8 import sys,os,os.path import re count=0 filters=['java'] def input(): global destDir destDir = raw_input("input dest dir:") destDir = destDir.strip() if destDir=="": destDir=os.curdir def listFile(destDir): ''' 列出所给目录的文件,如果是文件,计算,如果是文档继续调用listFile ''' global count if os.path.isdir(destDir)!=True: #过滤 if filter(destDir) == False: return if os.path.isfile(destDir): count=count+countRows(destDir) return files = os.listdir(destDir) for i in range(len(files)): listFile(os.path.join(destDir,files[i])) def countRows(filePath): ''' 计算行数 ''' fscok=open(filePath) nullLineP=re.compile(r'^(\t{1,}|\n{1,}|\s{1,})$') singleNoteP=re.compile(r'^(\t{0,}|\s{0,})//') multiNoteStartP=re.compile(r'^(\t{0,}|\s{0,})(/\*)') multiNoteEndP=re.compile(r'(\*/)(\t{0,}|\s{0,}|\n{0,})$') c=0 isMulitNoteStart=False for line in fscok: #匹配空白行 if nullLineP.match(line)!=None : continue #匹配单行注释 if singleNoteP.match(line)!=None: continue #匹配多行注释开始 if multiNoteStartP.match(line)!=None: isMulitNoteStart=True #匹配多行注释结束 #如果有开始的注释,但是没有结束的,则continue if isMulitNoteStart==True and multiNoteEndP.search(line)==None: continue if multiNoteEndP.search(line) !=None: isMulitNoteStart=False continue c+=1 return c def filter(filePath): ''' 过滤文件 ''' global filters exName=filePath.split('.')[-1] if exName in filters : return True return False if __name__=="__main__": input() listFile(destDir) print "%d row" % count
相关推荐
Java作为广泛使用的面向对象编程语言,其代码行数的计算对于开发者和管理者都具有重要意义。本文将深入探讨如何使用Java工具类来统计一个项目中的代码行数。 首先,我们需要理解代码行数计算的基本概念。通常,代码...
《代码行数计算工具在Windows环境下的应用与实践》 在软件开发过程中,代码行数(Lines of Code,简称LOC)常被用作衡量项目规模、复杂度以及工作量的一个重要指标。对于开发者而言,了解项目的代码行数有助于评估...
然而,对于有效的代码行数,通常指的是能够执行特定功能的代码,不包括注释和无效的空格或制表符。本文将详细介绍如何统计源代码行数以及有效代码,并探讨过滤注释行和自定义统计方式的方法。 首先,统计源代码行数...
总之,"java代码行数统计源码"提供的工具是一个实用的开发辅助程序,它综合运用了Java的文件操作、源代码解析、数据处理和可能的用户界面设计等多个技术领域,为开发者提供了一种量化评估项目规模的方式。...
在进行源代码行数计算时,通常会区分以下几类行: 1. 实际代码行:包含有效程序逻辑的行。 2. 空行:没有代码或仅包含空白字符的行。 3. 注释行:包含开发者注释的行,它们对代码起解释作用,但不参与程序执行。 4. ...
针对Java编程语言,有一个专门用于统计代码行数的工具,它不仅适用于Java,还支持C++、Delphi和C#等其他编程语言。本文将详细介绍这个名为"IrisCodeCounter"的工具,以及如何利用它来有效地分析和管理代码库。 ...
标题提到的“代码行数统计工具”是专门用于计算源代码文件中行数的实用程序,适用于各种项目。这种工具能够帮助开发者、项目经理和质量保证人员了解项目的整体状况,进行进度跟踪、资源规划和复杂性分析。 代码行数...
有效代码行数计算器正是为了解决这个问题,它能够智能地识别并只计算那些实际参与程序运行的代码行。 这个工具的核心功能可能包含以下几个方面: 1. **源代码解析**:计算器首先需要读取Java源文件或已打包的jar...
Java代码行数统计工具是一种实用程序,它可以帮助开发者量化他们的工作量,跟踪项目进度,以及进行代码质量分析。这个zip文件包含的工具专门设计用来计算Java源代码中的行数,提供了一个直观的方式来了解代码库的...
标题中的“java写的源代码行数统计器”指的是一个用Java编程语言开发的工具,它的主要功能是计算源代码文件中的行数。在软件开发中,行数统计有时被用作衡量项目规模或工作量的一个指标,尽管这并不是非常精确,但对...
"eclipse代码行数统计插件"就是这样一个工具,它能够帮助开发者快速地统计出项目中的代码行数,包括注释和空行。 在Eclipse中,安装和使用代码行数统计插件非常简单。首先,用户需要打开"Windows"菜单,然后选择...
`ComputeCode.java` 文件则负责计算有效代码行数。它可能包含以下核心步骤: 1. 分析代码:对读取到的每一行代码进行分析,去除空行、注释行以及空白字符。 2. 计算有效行:识别语句结束符(如分号、大括号)来确定...
"计算代码行数小工具"是一个专为此目的设计的应用,能够帮助开发者和项目经理快速准确地统计源代码的总行数。这个小工具支持多种编程语言,使得它在处理跨语言项目时尤为方便。 首先,我们来了解一下为什么计算代码...
本工具"js,java,c等文件代码行数计算工具"专注于帮助开发者统计指定编程语言(如JavaScript, Java, C)以及特定类型文件(如JSP)的代码行数,从而提供一个量化的方式来评估代码库的大小。 首先,让我们详细了解...
通过代码行数计算工具,开发者可以更有效地管理项目,优化代码结构,提高工作效率。Code Line Counter v1.7作为一款成熟的工具,提供了便捷的代码统计功能,对于项目管理和代码质量管理具有很大的帮助。
"JAVA代码行数计算器"是一个工具,专门用于统计Java源代码中的行数,它可以帮助开发者和项目经理快速获取项目的基本统计信息。 Java代码行数计算器通常包括以下功能: 1. **计数类型**:它不仅计算实际的代码行,还...
然而,仅仅计算总的代码行数并不准确,因为注释、空行和嵌套结构等因素都会影响实际的工作量。因此,"有效行数"通常指的是可执行代码的行数,不包括注释和空白行。 要统计代码的有效行数,开发者可以借助各种工具,...
标题提到的“统计java c++ b等语言的代码行数”是指利用特定工具来计算不同编程语言的源代码中各种类型的行数,包括空行、注释行和有效代码行。这个工具特别针对Java、C++和可能的B语言(可能是Basic的一种变体)...