Completed
Push — master ( 088fa2...ea5d12 )
by Evgenii
04:34
created

Trader::stoch()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 12
Code Lines 11

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 11
nc 1
nop 8
dl 0
loc 12
rs 9.4285
c 0
b 0
f 0

How to fix   Many Parameters   

Many Parameters

Methods with many parameters are not only hard to understand, but their parameters also often become inconsistent when you need more, or different data.

There are several approaches to avoid long parameter lists:

1
<?php
2
3
namespace Laratrade\Trader;
4
5
use BadMethodCallException;
6
use Laratrade\Trader\Contracts\MagicCalls;
7
use Laratrade\Trader\Contracts\Trader as TraderContract;
8
9
/**
10
 * Class Trader
11
 * @package Laratrade\Trader
12
 */
13
class Trader implements TraderContract
14
{
15
    use MagicCalls;
16
17
    /**
18
     * @param string $name
19
     * @param array  $arguments
20
     *
21
     * @return mixed
22
     */
23
    public function __call(string $name, array $arguments)
24
    {
25
        if (method_exists($this, $name)) {
26
            return call_user_func_array(sprintf('trader_%s', $name), $arguments);
27
        }
28
29
        throw new BadMethodCallException(sprintf('Invalid method name %s', $name));
30
    }
31
}
32