Enter forum description here ...
+1
Completed

False positive W521 when returning a record

dummzeuch 10 years ago updated by Roman 10 years ago 4
We have many functions that look like this:

function TQuerEbenheit_EA_Daten.Abscissa: TAbscissa;
begin
Result.AssignKm(Messkm);
end;

TAbscissa is an extended record with mutliple AssingXxx methods that initialize its value. So the result is actually initialized. I haven't got a good idea how to solve this. Maybe instead of an AsssignXxx method I should change this to a constructor call with an assignment?

Result := TAbscissa.CreateFromKm(Messkm);

But that would add the overhead of creating an additional record and assigning it to result. Not much of an overhead. The problem is more that we would have to rewrite lots of code.
+1

Provide fixes

Uwe Schuster 10 years ago 0
Right now FixInsight does not satisfy it's name - a proper name would rather be AnalysisInsight for the current feature set. Med term FixInsight should start providing fixes for one or the other convention/rule violation. A start could be fixes for C109 and W514.
+1
Planned

FI should clear/close its message tab when project is closed

Nicholas Ring 10 years ago updated by Roman 10 years ago 1

Currently, when switching projects, the FI message tab stays populated with the results it found on the last run, which in most cases, would not be relevant to the current (new) project.


What I am suggesting is the FI clears/closes its message tab, so the developer doesn't get old, incorrect information.


If people prefer to have it there, maybe have a check-box to change this functionality ;-)

+1
Planned

Save your selection of checked reports as a template. There are several I'd always want turned off.

Anonymous 10 years ago updated by Roman 10 years ago 1
I'd like to be able to de-select the reports I never want enabled, and then choose "Make this my default selection" for any new report.
+1
Completed

[Project Manager Menu] Add FixInsight to the module node menu

Uwe Schuster 10 years ago updated by Roman 10 years ago 3
In order to run FixInsight for a specific unit a have to make this unit the active unit, have to call FixInsight from the popupmenu for the project node and have to choose "Analyze current unit only" from the dropdown menu of the "Run" button. That is a bit cumbersome. The module nodes should have a FixInsight menu item that shows the FixInsight settings dialog with a "Run for current unit" button.
+1

Make it easier to add an ignore comment

dummzeuch 10 years ago 0
It would be nice to have a method for adding an ignore comment for the warning FixInsight reports on a particular line. E.g. if the for loop variable is not inside the loop, and that's not an error, have a context menu for the warning that opens a dialog for adding a user comment (pre filled if possible) and then adds a
//FI:W528 - <user comment here>
to the line in question.
+1

[C109] Misleading text for BooleanValue = False

Uwe Schuster 10 years ago updated by Nicholas Ring 10 years ago 1

New in FixInsight 2015.11 in contrast to 2015.10 is C109 for "BooleanValue = False" like in the following function:


function TestC109False(AValue: Boolean): Boolean;
begin
  Result := AValue = False;
end;
This comparison is not unnecessary, because when removing "= False" one will get the opposite result. However the style is bad and for now a different text for the "= False" case, that suggests using "not", would be sufficient.

+1
Planned

False W801 warning (CONST missing for unmodified string parameter) if Delete is called

dummzeuch 10 years ago updated by Roman 10 years ago 1

For code like this:

procedure bla(s: string);

begin

Delete(s, 1, 1);

end;


I get the warning W801 even though the string parameter is being modified.

+1
Completed

Separate configuration and execution of FixInsight

dummzeuch 10 years ago updated by Roman 10 years ago 3
Currently there is only one menu item that calls the FixInsight dialog. This dialog has multiple functions:
* Configure FixInsight
* Run FixInsight on the project
* Run FixInsight on the current unit

I already complained about the last one, but it's equally inconvenient that the only way to change the configuration is to run FixInsight afterwards. Consider this:
I find that there is a 3rd party unit that generates many warnings and I decide that I won't bother checking this code in the future because I am not going to fix it anyway. So I want to add this unit to the exception list. How do I do that? If I open the dialog, I must run FixInsight afterwards in order for the configuration change to be saved. But I am in the process of going through the list of warnings, which will be changed when I run it again. At minimum I lose the current position in the list I was looking at.

Answer
Roman 10 years ago
Actually this is my plan for the next release :)
0

unicodestring

Roland Bengtsson 6 years ago 0

Methods like this with Unicodestring

procedure test(s: UnicodeString);

Should have

O801 CONST missing for unmodified string parameter 's'