Skip to content

Commit

Permalink
version 2.5.3
Browse files Browse the repository at this point in the history
  • Loading branch information
christopheexakat committed May 14, 2023
1 parent 083071d commit 7bbd873
Show file tree
Hide file tree
Showing 7 changed files with 230 additions and 71 deletions.
28 changes: 27 additions & 1 deletion Changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Release Note

Here is the release note of exakat.

**Version 2.5.3 (, 2023-02-04)**
**Version 2.5.5 (, 2023-02-04)**


+ Architecture
Expand All @@ -23,6 +23,32 @@ Here is the release note of exakat.

+ Tokenizer
+

**Version 2.5.4 (, 2023-02-04)**


+ Architecture
+ Refactored generation of VCS

+ Cobbler
+

+ Report
+

+ Analysis
+ Updated analysis : Useless Null Coalesce now omits stdclass
+ New analysis : report rewritten final class constant
+ New analysis : report uselessly rewriten class constant
+ Updated analysis : Fixed detection of use for functions and constants
+ Removed analysis : Removed 'Mark callable'
+ Updated analysis : Fixed detection of calls to __construct
+ Updated analysis : Avoid Boolean as Argument sped up
+ Updated analysis : Property Could Be Local sped up

+ Tokenizer
+

**Version 2.5.2 (Wang Gui, 2023-02-04)**


Expand Down
2 changes: 1 addition & 1 deletion Introduction.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Introduction
============

This is the documentation of the Exakat engine, version 2.5.3 (Build 1452), on Thu, 20 Apr 2023 05:50:00 +0000.
This is the documentation of the Exakat engine, version 2.5.3 (Build 1459), on Tue, 09 May 2023 06:47:20 +0000.

What is Exakat ?
----------------
Expand Down
235 changes: 181 additions & 54 deletions Reference/Rules.rst

Large diffs are not rendered by default.

14 changes: 8 additions & 6 deletions Reference/Rulesets.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Rulesets
Introduction
------------------------

Exakat provides unique 1560 rules to detect BUGS, CODE SMELLS, SECURITY OR QUALITY ISSUES in your PHP code.
Exakat provides unique 1561 rules to detect BUGS, CODE SMELLS, SECURITY OR QUALITY ISSUES in your PHP code.

For more smoothly usage, the ruleset concept allow you to run a set of rules based on a decidated focus. Beawre that a Ruleset run all the associated rules and any needed dependencies.

Expand Down Expand Up @@ -128,7 +128,7 @@ All

All is a dummy ruleset, which includes all the rules. It is mostly used internally.

Total : 1558 analysis
Total : 1559 analysis

* :ref:`adding-zero`
* :ref:`ambiguous-array-index`
Expand Down Expand Up @@ -555,7 +555,6 @@ Total : 1558 analysis
* :ref:`old-style-\_\_autoload()`
* :ref:`altering-foreach-without-reference`
* :ref:`test-class`
* :ref:`mark-callable`
* :ref:`magic-visibility`
* :ref:`use-pathinfo`
* :ref:`should-use-existing-constants`
Expand Down Expand Up @@ -1688,6 +1687,8 @@ Total : 1558 analysis
* :ref:`substr()-in-loops`
* :ref:`should-cache-local`
* :ref:`php-8.3-new-classes`
* :ref:`rewrote-final-class-constant`
* :ref:`useless-constant-overwrite`

Specs
_____
Expand Down Expand Up @@ -2626,7 +2627,7 @@ CE

This ruleset is the Community Edition list. It holds all the analysis that are in the community edition version of Exakat.

Total : 627 analysis
Total : 626 analysis

* :ref:`adding-zero`
* :ref:`array-index`
Expand Down Expand Up @@ -2872,7 +2873,6 @@ Total : 627 analysis
* :ref:`use-php-object-api`
* :ref:`altering-foreach-without-reference`
* :ref:`test-class`
* :ref:`mark-callable`
* :ref:`use-pathinfo`
* :ref:`ext-dio`
* :ref:`no-parenthesis-for-language-construct`
Expand Down Expand Up @@ -3539,7 +3539,7 @@ Class Review

This ruleset focuses on classes construction issues, and their related structures : traits, interfaces, methods, properties, constants.

Total : 85 analysis
Total : 87 analysis

* :ref:`final-class-usage`
* :ref:`final-methods-usage`
Expand Down Expand Up @@ -3626,6 +3626,8 @@ Total : 85 analysis
* :ref:`property-invasion`
* :ref:`different-constructors`
* :ref:`sidelined-method`
* :ref:`rewrote-final-class-constant`
* :ref:`useless-constant-overwrite`

Specs
_____
Expand Down
8 changes: 4 additions & 4 deletions User/Overview.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Overview
Summary
-------

* `1560 analyzers`
* `1561 analyzers`
* `Compatible with PHP 5.2 to 8.2`_
* `Migration guide from 5.2 to 8.2`_
* `Modernize your code`_
Expand All @@ -18,15 +18,15 @@ Summary
* `Code visualizations`_


1560 analyzers
1561 analyzers
-----------------------------

There are currently 1560 different analyzers that check the PHP code to report code smells. Analyzers are inspired by PHP manual, migration documents, community good practices, computer science or simple logic.
There are currently 1561 different analyzers that check the PHP code to report code smells. Analyzers are inspired by PHP manual, migration documents, community good practices, computer science or simple logic.

Some of them track rare occurrences, and some are frequent. Some track careless mistakes and some are highly complex situations. In any case, exakat has your back, and will warn you.

.. image:: ../images/dashboard.748.png
:alt: 1560 analysis with faceted search
:alt: 1561 analysis with faceted search


Compatible with PHP 5.2 to 8.2
Expand Down
2 changes: 1 addition & 1 deletion User/Rule.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Rule
Rules
----------------------------------

Exakat provides unique 1560 rules to detect BUGS, CODE SMELLS, SECURITY OR QUALITY ISSUES in your PHP code.
Exakat provides unique 1561 rules to detect BUGS, CODE SMELLS, SECURITY OR QUALITY ISSUES in your PHP code.

Each rule is documented with :
* a PHP version : The version of PHP to wich the rule apply
Expand Down
12 changes: 8 additions & 4 deletions User/Scoping.rst
Original file line number Diff line number Diff line change
Expand Up @@ -312,6 +312,7 @@ INI configuration for built-in rulesets. Copy them in config/rulesets.ini, and e
analyzer[] = "Classes/RedefinedMethods";
analyzer[] = "Classes/RedefinedPrivateProperty";
analyzer[] = "Classes/RedefinedProperty";
analyzer[] = "Classes/RewroteFinalClassConstant";
analyzer[] = "Classes/SameNameAsFile";
analyzer[] = "Classes/ScalarOrObjectProperty";
analyzer[] = "Classes/ShouldDeepClone";
Expand Down Expand Up @@ -368,6 +369,7 @@ INI configuration for built-in rulesets. Copy them in config/rulesets.ini, and e
analyzer[] = "Classes/UsedProtectedMethod";
analyzer[] = "Classes/UselessAbstract";
analyzer[] = "Classes/UselessAssignationOfPromotedProperty";
analyzer[] = "Classes/UselessConstantOverwrite";
analyzer[] = "Classes/UselessConstructor";
analyzer[] = "Classes/UselessFinal";
analyzer[] = "Classes/UselessMethod";
Expand Down Expand Up @@ -742,7 +744,6 @@ INI configuration for built-in rulesets. Copy them in config/rulesets.ini, and e
analyzer[] = "Functions/IsGlobal";
analyzer[] = "Functions/KillsApp";
analyzer[] = "Functions/LoopCalling";
analyzer[] = "Functions/MarkCallable";
analyzer[] = "Functions/MismatchParameterAndType";
analyzer[] = "Functions/MismatchParameterName";
analyzer[] = "Functions/MismatchTypeAndDefault";
Expand Down Expand Up @@ -1885,6 +1886,7 @@ YAML configuration for built-in rulesets. Copy them in your code, with the name
- 'Classes/RedefinedMethods'
- 'Classes/RedefinedPrivateProperty'
- 'Classes/RedefinedProperty'
- 'Classes/RewroteFinalClassConstant'
- 'Classes/SameNameAsFile'
- 'Classes/ScalarOrObjectProperty'
- 'Classes/ShouldDeepClone'
Expand Down Expand Up @@ -1941,6 +1943,7 @@ YAML configuration for built-in rulesets. Copy them in your code, with the name
- 'Classes/UsedProtectedMethod'
- 'Classes/UselessAbstract'
- 'Classes/UselessAssignationOfPromotedProperty'
- 'Classes/UselessConstantOverwrite'
- 'Classes/UselessConstructor'
- 'Classes/UselessFinal'
- 'Classes/UselessMethod'
Expand Down Expand Up @@ -2315,7 +2318,6 @@ YAML configuration for built-in rulesets. Copy them in your code, with the name
- 'Functions/IsGlobal'
- 'Functions/KillsApp'
- 'Functions/LoopCalling'
- 'Functions/MarkCallable'
- 'Functions/MismatchParameterAndType'
- 'Functions/MismatchParameterName'
- 'Functions/MismatchTypeAndDefault'
Expand Down Expand Up @@ -5385,7 +5387,6 @@ INI configuration for built-in rulesets. Copy them in config/rulesets.ini, and e
analyzer[] = "Functions/IsExtFunction";
analyzer[] = "Functions/IsGenerator";
analyzer[] = "Functions/KillsApp";
analyzer[] = "Functions/MarkCallable";
analyzer[] = "Functions/MismatchParameterName";
analyzer[] = "Functions/MultipleDeclarations";
analyzer[] = "Functions/MustReturn";
Expand Down Expand Up @@ -6025,7 +6026,6 @@ YAML configuration for built-in rulesets. Copy them in your code, with the name
- 'Functions/IsExtFunction'
- 'Functions/IsGenerator'
- 'Functions/KillsApp'
- 'Functions/MarkCallable'
- 'Functions/MismatchParameterName'
- 'Functions/MultipleDeclarations'
- 'Functions/MustReturn'
Expand Down Expand Up @@ -6946,6 +6946,7 @@ INI configuration for built-in rulesets. Copy them in config/rulesets.ini, and e
analyzer[] = "Classes/RaisedAccessLevel";
analyzer[] = "Classes/RedefinedMethods";
analyzer[] = "Classes/RedefinedProperty";
analyzer[] = "Classes/RewroteFinalClassConstant";
analyzer[] = "Classes/ShouldUseSelf";
analyzer[] = "Classes/UndeclaredStaticProperty";
analyzer[] = "Classes/UndefinedMethod";
Expand All @@ -6955,6 +6956,7 @@ INI configuration for built-in rulesets. Copy them in config/rulesets.ini, and e
analyzer[] = "Classes/UnreachableMethod";
analyzer[] = "Classes/UnusedConstant";
analyzer[] = "Classes/UselessAssignationOfPromotedProperty";
analyzer[] = "Classes/UselessConstantOverwrite";
analyzer[] = "Classes/UselessTypehint";
analyzer[] = "Classes/WrongTypedPropertyInit";
analyzer[] = "Enums/NoMagicMethod";
Expand Down Expand Up @@ -7044,6 +7046,7 @@ YAML configuration for built-in rulesets. Copy them in your code, with the name
- 'Classes/RaisedAccessLevel'
- 'Classes/RedefinedMethods'
- 'Classes/RedefinedProperty'
- 'Classes/RewroteFinalClassConstant'
- 'Classes/ShouldUseSelf'
- 'Classes/UndeclaredStaticProperty'
- 'Classes/UndefinedMethod'
Expand All @@ -7053,6 +7056,7 @@ YAML configuration for built-in rulesets. Copy them in your code, with the name
- 'Classes/UnreachableMethod'
- 'Classes/UnusedConstant'
- 'Classes/UselessAssignationOfPromotedProperty'
- 'Classes/UselessConstantOverwrite'
- 'Classes/UselessTypehint'
- 'Classes/WrongTypedPropertyInit'
- 'Enums/NoMagicMethod'
Expand Down

0 comments on commit 7bbd873

Please sign in to comment.