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

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; }

 

 

你可能感兴趣的:(java,正则表达式,String,Comments)