您的位置:首页 > 编程语言 > Java开发

Java eLOC(有效代码行) -- 去除空白行和注释行

2011-04-09 22:34 489 查看
eLOC(effective Lines Of Code, 有效代码行)区别于一般LOC(Lines Of Code)的地方在于,eLOC并不考虑空白行,注释行,还有只包含 "{" 或

“}" 的代码行。之所以称之为有效代码行,是因为这种衡量方式能更好地描述programmer productivity和code understandability.

下面的代码利用正则表达式来判断空白行,注释行,和stand-alone的大括号行。输入的字符串是一行代码,若返回true则说明此行代码是eLOC,false则不是。

部分实现参考了http://mgc.name/article.asp?id=332

转载请注明本文出处: http://blog.csdn.net/flying881114/archive/2011/04/09/6312674.aspx
public boolean isELOC(String line)
{
//white line
if (line.matches("[//s]*"))
{
return false;
}
//block comments that ends within this line
else if (line.matches("^///*.*") && line.matches(".*//*/$"))
{
return false;
}
//block comments that starts in this line but not ends
else if (line.matches("^///*.*") && !line.matches(".*//*/$"))
{
comment = true;
return false;
}
//continue block comments
else if (comment)
{
//if block comments ends
if (line.matches(".*//*/$") && !line.matches("^///*.*")) {
comment = false;
}
return false;
}
//line comments
else if (line.matches("^//.*"))
{
return false;
}
//stand-alone braces
else if(line.equals("{") || line.equals("}"))
{
return false;
}

//else, line is effective
return true;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: