Мое требование состоит в том, чтобы узнать количество строк кодовых комментариев в данном java-классе, но не хочу включать мертвый код (например, метод Samp в приведенном ниже коде должен быть исключен, и строка "int y = 10" из main метод должен быть исключен).
Я использую javaparser jar и получаю комментарии, но не могу отличить закомментированный код от допустимых комментариев.
Это мой текущий подход:
Разобрать каждую закомментированную строку и проверить
1. заканчивается на полуколан (не всегда), если нет, начинается ли с ключевого слова java (что-то вроде if, while, case для etc…)
2.получить все слова в этой строке, разделить их на слова и проверить, что большинство из них (80%) НЕ должны быть частью английского словаря (за исключением ключевых слов java).
3. ищите "="
Но это могут быть ложные срабатывания.
Ребята, не могли бы вы предложить лучший подход?
public class Sample {
public static void main(String[] args) {
String str="Hello";
// sample code comments goes here
System.out.println(str);
// a=10 means blab blab la ;
//if c=20 then we have to some thing {
//int y=10;
}
/*public static void samp(){
int k=12;
int avg=(k*12)/10;
boolean res=false;
if(res){//test
System.out.println("blab blab bla ");
}
}*/
}