HuasoFoundries/jpgraph

View on GitHub

Showing 6,805 of 6,805 total issues

The class PlotLine has 11 public methods. Consider refactoring PlotLine to keep number of public methods under 10.
Open

class PlotLine
{
    public $scaleposition;
    public $direction            = -1;
    protected $weight            = 1;
Severity: Minor
Found in src/plot/PlotLine.php by phpmd

TooManyPublicMethods

Since: 0.1

A class with too many public methods is probably a good suspect for refactoring, in order to reduce its complexity and find a way to have more fine grained objects.

By default it ignores methods starting with 'get' or 'set'.

Example

Source https://phpmd.org/rules/codesize.html#toomanypublicmethods

The class PlotMark has an overall complexity of 85 which is very high. The configured complexity threshold is 50.
Open

class PlotMark
{
    public $title;
    public $show = true;
    public $type;
Severity: Minor
Found in src/plot/PlotMark.php by phpmd

The class GTextTable has 13 public methods. Consider refactoring GTextTable to keep number of public methods under 10.
Open

class GTextTable
{
    public $iCells   = [];
    public $iSize    = [0, 0]; // Need to be public since they are used by the cell
    private $iWidth  = 0;
Severity: Minor
Found in src/text/GTextTable.php by phpmd

TooManyPublicMethods

Since: 0.1

A class with too many public methods is probably a good suspect for refactoring, in order to reduce its complexity and find a way to have more fine grained objects.

By default it ignores methods starting with 'get' or 'set'.

Example

Source https://phpmd.org/rules/codesize.html#toomanypublicmethods

The class GTextTable has an overall complexity of 212 which is very high. The configured complexity threshold is 50.
Open

class GTextTable
{
    public $iCells   = [];
    public $iSize    = [0, 0]; // Need to be public since they are used by the cell
    private $iWidth  = 0;
Severity: Minor
Found in src/text/GTextTable.php by phpmd

The class Text has an overall complexity of 56 which is very high. The configured complexity threshold is 50.
Open

class Text //extends Graph
{
    public $t;
    public $x      = 0;
    public $y      = 0;
Severity: Minor
Found in src/text/Text.php by phpmd

The class DateScaleUtils has an overall complexity of 79 which is very high. The configured complexity threshold is 50.
Open

class DateScaleUtils
{
    public static $iMin = 0;
    public static $iMax = 0;

Severity: Minor
Found in src/util/DateScaleUtils.php by phpmd

The class GTextTableCell has an overall complexity of 126 which is very high. The configured complexity threshold is 50.
Open

class GTextTableCell
{
    public $iColSpan      = 1;
    public $iRowSpan      = 1;
    public $iMarginLeft   = 5;
Severity: Minor
Found in src/text/GTextTableCell.php by phpmd

The class TextProperty has an overall complexity of 60 which is very high. The configured complexity threshold is 50.
Open

class TextProperty
{
    public $iShow         = true;
    public $csimtarget    = '';
    public $csimwintarget = '';
Severity: Minor
Found in src/text/TextProperty.php by phpmd

The class BarTest has 18 public methods. Consider refactoring BarTest to keep number of public methods under 10.
Open

class BarTest extends \Codeception\Test\Unit
{
    use Amenadiel\JpGraph\UnitTest\UnitTestTrait;

    public static $fixTures = [];
Severity: Minor
Found in tests/BarTest.php by phpmd

TooManyPublicMethods

Since: 0.1

A class with too many public methods is probably a good suspect for refactoring, in order to reduce its complexity and find a way to have more fine grained objects.

By default it ignores methods starting with 'get' or 'set'.

Example

Source https://phpmd.org/rules/codesize.html#toomanypublicmethods

The class LineTest has 32 non-getter- and setter-methods. Consider refactoring LineTest to keep number of methods under 25.
Open

class LineTest extends \Codeception\Test\Unit
{
    use Amenadiel\JpGraph\UnitTest\UnitTestTrait;

    public static $fixTures = [];
Severity: Minor
Found in tests/LineTest.php by phpmd

TooManyMethods

Since: 0.1

A class with too many methods is probably a good suspect for refactoring, in order to reduce its complexity and find a way to have more fine grained objects.

By default it ignores methods starting with 'get' or 'set'.

The default was changed from 10 to 25 in PHPMD 2.3.

Example

Source https://phpmd.org/rules/codesize.html#toomanymethods

The class ThemeTest has 11 public methods. Consider refactoring ThemeTest to keep number of public methods under 10.
Open

class ThemeTest extends \Codeception\Test\Unit
{
    use Amenadiel\JpGraph\UnitTest\UnitTestTrait;

    public static $fixTures = [];
Severity: Minor
Found in tests/ThemeTest.php by phpmd

TooManyPublicMethods

Since: 0.1

A class with too many public methods is probably a good suspect for refactoring, in order to reduce its complexity and find a way to have more fine grained objects.

By default it ignores methods starting with 'get' or 'set'.

Example

Source https://phpmd.org/rules/codesize.html#toomanypublicmethods

The class PieTest has 14 public methods. Consider refactoring PieTest to keep number of public methods under 10.
Open

class PieTest extends \Codeception\Test\Unit
{
    use Amenadiel\JpGraph\UnitTest\UnitTestTrait;

    public static $fixTures = [];
Severity: Minor
Found in tests/PieTest.php by phpmd

TooManyPublicMethods

Since: 0.1

A class with too many public methods is probably a good suspect for refactoring, in order to reduce its complexity and find a way to have more fine grained objects.

By default it ignores methods starting with 'get' or 'set'.

Example

Source https://phpmd.org/rules/codesize.html#toomanypublicmethods

The class LineTest has 30 public methods. Consider refactoring LineTest to keep number of public methods under 10.
Open

class LineTest extends \Codeception\Test\Unit
{
    use Amenadiel\JpGraph\UnitTest\UnitTestTrait;

    public static $fixTures = [];
Severity: Minor
Found in tests/LineTest.php by phpmd

TooManyPublicMethods

Since: 0.1

A class with too many public methods is probably a good suspect for refactoring, in order to reduce its complexity and find a way to have more fine grained objects.

By default it ignores methods starting with 'get' or 'set'.

Example

Source https://phpmd.org/rules/codesize.html#toomanypublicmethods

Method Stroke has 83 lines of code (exceeds 25 allowed). Consider refactoring.
Open

    public function Stroke($aOtherAxisScale, $aStrokeLabels = true)
    {
        if ($this->hide) {
            return;
        }
Severity: Major
Found in src/graph/Axis.php - About 3 hrs to fix

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

            if (!empty($this->csimtargets[$i])) {
                $this->csimareas .= "<area shape=\"poly\" coords=\"${coords}\" href=\"" . $this->csimtargets[$i] . '"';
    
                if (!empty($this->csimwintargets[$i])) {
                    $this->csimareas .= ' target="' . $this->csimwintargets[$i] . '" ';
    Severity: Major
    Found in src/plot/PiePlot3D.php and 1 other location - About 3 hrs to fix
    src/plot/PiePlotC.php on lines 139..150

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 148.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

            if (!empty($this->csimtargets[$i])) {
                $this->csimareas .= "<area shape=\"poly\" coords=\"${coords}\" href=\"" .
                $this->csimtargets[$i] . '"';
                if (!empty($this->csimwintargets[$i])) {
                    $this->csimareas .= ' target="' . $this->csimwintargets[$i] . '" ';
    Severity: Major
    Found in src/plot/PiePlotC.php and 1 other location - About 3 hrs to fix
    src/plot/PiePlot3D.php on lines 144..156

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 148.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Method Stroke has 82 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

        public function Stroke($img, $xscale, $yscale)
        {
            $n = $this->numpoints;
            if ($this->center) {
                --$n;
    Severity: Major
    Found in src/plot/StockPlot.php - About 3 hrs to fix

      Function Color has a Cognitive Complexity of 23 (exceeds 5 allowed). Consider refactoring.
      Open

          public function Color($aColor)
          {
              if (is_string($aColor)) {
                  $matches = [];
                  // this regex will parse a color string and fill the $matches array as such:
      Severity: Minor
      Found in src/image/RGB.php - About 3 hrs to fix

      Cognitive Complexity

      Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

      A method's cognitive complexity is based on a few simple rules:

      • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
      • Code is considered more complex for each "break in the linear flow of the code"
      • Code is considered more complex when "flow breaking structures are nested"

      Further reading

      Function _TransHor3D has a Cognitive Complexity of 23 (exceeds 5 allowed). Consider refactoring.
      Open

          public function _TransHor3D($aGdImg, $aHorizon = 100, $aSkewDist = 120, $aDir = SKEW3D_LEFT, $aMinSize = true, $aFillColor = '#FFFFFF', $aQuality = false, $aBorder = false, $aHorizonPos = 0.5)
          {
              $w = imagesx($aGdImg);
              $h = imagesy($aGdImg);
      
      
      Severity: Minor
      Found in src/image/ImgTrans.php - About 3 hrs to fix

      Cognitive Complexity

      Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

      A method's cognitive complexity is based on a few simple rules:

      • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
      • Code is considered more complex for each "break in the linear flow of the code"
      • Code is considered more complex when "flow breaking structures are nested"

      Further reading

      Function StrokeBoxedText2 has a Cognitive Complexity of 23 (exceeds 5 allowed). Consider refactoring.
      Open

          public function StrokeBoxedText2(
              $x,
              $y,
              $txt,
              $dir = 0,
      Severity: Minor
      Found in src/image/Image.php - About 3 hrs to fix

      Cognitive Complexity

      Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

      A method's cognitive complexity is based on a few simple rules:

      • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
      • Code is considered more complex for each "break in the linear flow of the code"
      • Code is considered more complex when "flow breaking structures are nested"

      Further reading

      Severity
      Category
      Status
      Source
      Language