Reviews of FixInsight – Delphi Static Code Analyser


The FixInsight, as described in this article as well, is a delphi static code analyser that will find code violations in the project without compiling it. It enhances the delphi compiler for some violations that are not reported. For example, FixInsight does help me to find code typo/mistakes that compiler does not warn. FixInsight helps to identify the code issues and reduce the bugs. It is a great tool and I love it. It is like the Resharper for Visual Studio C# basically I can’t live without it. However, I’d like to point out some possible improvements for FixInsight (Note, the Author of FixInsight, Roman Yankovsky is a nice guy who improves the plugin based on my suggestions/experiences when using the tool).

The following is based on using the 2015-Aug-UPD-1 version of FixInsight, I have tested the plugin on both Delphi 2007 and Delphi XE8.

about-fixinsight Reviews of FixInsight - Delphi Static Code Analyser CI server delphi FixInsight static code analyser tools / utilities

about-fixinsight

False Positive

[FixInsight Warning] RPM_Utils.pas(3139): W509 Unreachable code.

fixinsight-false-positive Reviews of FixInsight - Delphi Static Code Analyser CI server delphi FixInsight static code analyser tools / utilities

fixinsight-false-positive

[FixInsight Warning] RPMLib_TRPMSimulationsCubeRayLauncherIndoor.pas(2413): W510 Values on both sides of the operator are equal

  x := x + x;

But it is not.

[FixInsight Internal] RPM_MathDBTable.pas(1): Fatal parser error

When the file is large, FixInsight may throw a out-of-memory exception, hence causing Fatal parser error.

Big file taking longer to parse

There is room to improve the performance.

fixinsight-long-waiting Reviews of FixInsight - Delphi Static Code Analyser CI server delphi FixInsight static code analyser tools / utilities

fixinsight-long-waiting

Skipping the file

Currently, the latest version Aug/2015 is not possible to specify a list of files to skip analysis. The only way to skip is to use the following condition directives.

{$IFNDEF _FIXINSIGHT_}
procedure Foo; // this code will be ignored
begin 
    Demo;
end;
{$ENDIF}

Command Line Tool?

This is good. The FixInsight can be used as a command line ie. FixInsightCL.exe. It can be integrated into the Continuous Integration process. And the output can be XML or in plain text (line by line).

commandline-run-fixinsight Reviews of FixInsight - Delphi Static Code Analyser CI server delphi FixInsight static code analyser tools / utilities

commandline-run-fixinsight

Lack of .DPR support

Currently, FixInsight does not analyse the *.dpr project file. So if you have code (e.g. Console Application) in dpr project file, they will be ignored by FixInsight plugin.

–EOF (The Ultimate Computing & Technology Blog) —

GD Star Rating
loading...
544 words
Last Post: Bidvertiser - 10$ in 2 years - As Backup Ads in Google Adsense
Next Post: Upgrading to Delphi 10 Seattle (XE10)

The Permanent URL is: Reviews of FixInsight – Delphi Static Code Analyser

Leave a Reply