代码注释率统计的Python及Java实现
这是⼀个简单的⼯具,能够查某个指定⽬录下的每个.java⽂件注释率及该路径下所有.java⽂件的总注释率。
注释率=注释代码⾏数/代码总⾏数,其中代码总⾏数包括注释⾏和空格⾏。
在Java中有⾏注释(//)、块注释(/*……*/)和Javadoc注释(/**……*/)三种风格,通过逐⾏读取⽂件,并判断是否包换这些字符就可以实现判断⼀⾏代码是否包含注释。为了增加准确率,引号内的字符串不计⼊统计范围。
Python的实现如下:
#coding:utf8
python基础代码注释#@author lyonwang
import os
totalCodeCount = 0 #代码总⾏数(包括注释及空格)
powder中文是什么意思totalCommentCount = 0 #注释⾏数
def readFilePath(path):
global totalCodeCount
global totalCommentCount
fileList = []
files = os.listdir(path) #打开指定路径下所有⽂件及⽂件夹
for f in files:
if(os.path.isfile(path + '\\' + f) and (f[f.rfind('.'):]=='.java')): #获取.java⽂件
ff=open(path + '\\' +f)
两个软件用sql2000codeCount = 0
commentCount = 0
flag = False #块注释标识三天学会plc编程
while True:
line = ff.readline() #逐⾏读取.java⽂件
if len(line) == 0:
break
sLine = ''
ss = line.split('\"')
for i in range(0,len(ss)):
if i%2!=0:
ss[i]='@'
sLine = sLine + ss[i]
if sLine.find('//')>=0:
commentCount=commentCount+1
elif sLine.find('/*')>=0: #块注释
commentCount=commentCount+1
flag = True
if sLine.find('*/')>=0:
flag = False
if flag :
if sLine.find('*')>=0:
commentCount=commentCount+1
codeCount=codeCount+1
print'File Name:',f
print'Code Count:',codeCount
print'Comment Count:',commentCount
print'Annotation Rate:',commentCount*100/codeCount,"%"
totalCodeCount = totalCodeCount+codeCount;
totalCommentCount = totalCommentCount+commentCount;
if(os.path.isdir(path + '\\' + f)): #⽂件夹则递归查
if(f[0] == '.'):
pass
else:s蹲视频
readFilePath(path + '\\' + f)
filePath = raw_input('Project Path:') #输⼊路径
readFilePath(filePath)
print'*************'
print'Total Code Count:',totalCodeCount
python办公真有那么快吗print'Total Comment Count:',totalCommentCount
print'Total Annotation Rate:',totalCommentCount*100/totalCodeCount,"%"
Java实现链接:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论