Поигрался с Infer
kouzdra — 02.05.2016
Есть подозрение, что тулза для джавистов по крайней мере
заслуживает внимания - опробовал на трех несложных (но и не совсем
простых) студенческих проектах нашла сомнительные места в 2 из трех
- не то чтобы вовсе ошибки - но существенные семантические
неряшливости, в серьезных проектах заслуживающие исправления.findbugs и pmd их не замечают.
Причем одна из может быть и ошибкой реальной - я например не уверен, что там все действительно хорошо. Примера для - фрагмент где есть возможность неосвобождения ресурса:
Хотя конечно для фрагмента main можно наплевать и забыть:;
try {
File f = new File(args[0]);
Scanner scn = new Scanner(f);
File fo = new File(args[0] + ".out");
PrintWriter pw = new PrintWriter(fo);
while(scn.hasNextLine()) {
String turniket = scn.nextLine();
LogicExpression le = ExpressionParser.parse(turniket);
KripkeWorld kw = KripkeBuilder.buildWithout(le);
if(kw != null) {
pw.println(kw.toIntervals(TreeUtils.gatherVariables(le)));
}
else
pw.println("Формула общезначима");
}
pw.close();
} catch(Exception e) {
e.printStackTrace();
}
В качестве упражнения можете попробовать найти ее путем инспекции
кода и предложить правильный вариант (все естественно компилируется
и работает)
|
|
</> |
Тихий и чистый город: как EV-революция изменит улицы, парковки и энергосистему
Осень. Открытка десятая. Триумфальная арка
И Стенька Разин и казнивший его Романов — оба два — как есть —
Традиционная китайская кара для воров и казнокрадов
Люто
Первый снег
Доброе утро!
Война на Днепре
Пафиопедилум. Мир орхидей

