Поигрался с 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(); }В качестве упражнения можете попробовать найти ее путем инспекции кода и предложить правильный вариант (все естественно компилируется и работает)
|
</> |