GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.
Completed
Push — master ( be813a...3d8811 )
by P.R.
06:43 queued 46s
created

_create_boom_parameter()   F

Complexity

Conditions 28

Size

Total Lines 108
Code Lines 56

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 41
CRAP Score 30.4299

Importance

Changes 0
Metric Value
cc 28
eloc 56
nop 1
dl 0
loc 108
ccs 41
cts 48
cp 0.8542
crap 30.4299
rs 0
c 0
b 0
f 0

How to fix   Long Method    Complexity   

Long Method

Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.

For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.

Commonly applied refactorings include:

Complexity

Complex classes like kerapu.boom.boom_parameter._create_boom_parameter() often do a lot of different things. To break such a class down, we need to identify a cohesive component within that class. A common approach to find such a component is to look for fields/methods that share the same prefixes, or suffixes.

Once you have determined the fields that belong together, you can apply the Extract Class refactoring. If the component makes sense as a sub-class, Extract Subclass is also a candidate, and is often faster.

1
"""
2
Kerapu
3
"""
4 1
from kerapu.boom.boom_parameter.BehandelKlasse import BehandelKlasse
5 1
from kerapu.boom.boom_parameter.BoomParameter import BoomParameter
6 1
from kerapu.boom.boom_parameter.DiagnoseCluster import DiagnoseCluster
7 1
from kerapu.boom.boom_parameter.DiagnoseCode import DiagnoseCode
8 1
from kerapu.boom.boom_parameter.Geslacht import Geslacht
9 1
from kerapu.boom.boom_parameter.Leeftijd import Leeftijd
10 1
from kerapu.boom.boom_parameter.SpecialismeCluster import SpecialismeCluster
11 1
from kerapu.boom.boom_parameter.SpecialismeCode import SpecialismeCode
12 1
from kerapu.boom.boom_parameter.ZorgActiviteitCluster import ZorgActiviteitCluster
13 1
from kerapu.boom.boom_parameter.ZorgActiviteitCode import ZorgActiviteitCode
14 1
from kerapu.boom.boom_parameter.ZorgInstellingCode import ZorgInstellingCode
15 1
from kerapu.boom.boom_parameter.ZorgTypeCode import ZorgTypeCode
16 1
from kerapu.boom.boom_parameter.ZorgVraagCluster import ZorgVraagCluster
17 1
from kerapu.boom.boom_parameter.ZorgVraagCode import ZorgVraagCode
18
19
# ----------------------------------------------------------------------------------------------------------------------
20 1
_boom_parameters = {}
21
"""
22
Poel met alle boomparameters
23
"""
24
25
26
# ----------------------------------------------------------------------------------------------------------------------
27 1
def create_boom_parameter(boom_parameter_nummer: int) -> BoomParameter:
28
    """
29
    Een fabriek met hergebruik voor het maken van boomparameters. Het aanroepen van deze functie met hetzelfde
30
    boomparameternummer zal tekens het zelfde object opleveren.
31
32
    :param int boom_parameter_nummer: Het nummer van de boomparameter.
33
34
    :rtype: BoomParameter
35
    """
36 1
    if boom_parameter_nummer in _boom_parameters:
0 ignored issues
show
Comprehensibility Best Practice introduced by
The variable _boom_parameters does not seem to be defined.
Loading history...
37 1
        return _boom_parameters[boom_parameter_nummer]
38
39 1
    _boom_parameters[boom_parameter_nummer] = _create_boom_parameter(boom_parameter_nummer)
40
41 1
    return _boom_parameters[boom_parameter_nummer]
42
43
44
# ----------------------------------------------------------------------------------------------------------------------
45 1
def _create_boom_parameter(boom_parameter_nummer: int) -> BoomParameter:
46
    """
47
    Een fabriek voor het maken van boomparameters.
48
49
    :param int boom_parameter_nummer: Het nummer van de boomparameter.
50
51
    :rtype: BoomParameter
52
    """
53 1
    if boom_parameter_nummer == 100:
54 1
        return Leeftijd()
55
56 1
    if boom_parameter_nummer == 101:
57 1
        return Geslacht()
58
59 1
    if boom_parameter_nummer == 110:
60 1
        return ZorgInstellingCode()
61
62 1
    if boom_parameter_nummer == 111:
63
        # Zorginstellingscluster 1
64
        # Deze boomparameter wordt thans niet gebruikt door de grouper.
65
        raise NotImplementedError('Boomparameter %d is niet geïmplementeerd.' % boom_parameter_nummer)
66
67 1
    if boom_parameter_nummer == 112:
68
        # Zorginstellingscluster 2
69
        # Deze boomparameter wordt thans niet gebruikt door de grouper.
70
        raise NotImplementedError('Boomparameter %d is niet geïmplementeerd.' % boom_parameter_nummer)
71
72 1
    if boom_parameter_nummer == 200:
73 1
        return SpecialismeCode()
74
75 1
    if boom_parameter_nummer == 201:
76 1
        return SpecialismeCluster(1)
77
78 1
    if boom_parameter_nummer == 202:
79
        return SpecialismeCluster(2)
80
81 1
    if boom_parameter_nummer == 210:
82 1
        return ZorgTypeCode()
83
84 1
    if boom_parameter_nummer == 211:
85
        # Zorgtypecluster 1
86
        # Deze boomparameter wordt thans niet gebruikt door de grouper.
87
        raise NotImplementedError('Boomparameter %d is niet geïmplementeerd.' % boom_parameter_nummer)
88
89 1
    if boom_parameter_nummer == 212:
90
        # Zorgtypecluster 2
91
        # Deze boomparameter wordt thans niet gebruikt door de grouper.
92
        raise NotImplementedError('Boomparameter %d is niet geïmplementeerd.' % boom_parameter_nummer)
93
94 1
    if boom_parameter_nummer == 220:
95 1
        return ZorgVraagCode()
96
97 1
    if boom_parameter_nummer == 221:
98 1
        return ZorgVraagCluster(1)
99
100 1
    if boom_parameter_nummer == 222:
101
        return ZorgVraagCluster(2)
102
103 1
    if boom_parameter_nummer == 230:
104 1
        return DiagnoseCode()
105
106 1
    if boom_parameter_nummer == 231:
107
        # ICD-diagnosecode
108
        # Deze boomparameter wordt thans niet gebruikt door de grouper.
109
        raise NotImplementedError('Boomparameter %d is niet geïmplementeerd.' % boom_parameter_nummer)
110
111 1
    if 232 <= boom_parameter_nummer <= 237:
112 1
        return DiagnoseCluster(boom_parameter_nummer - 231)
113
114 1
    if boom_parameter_nummer == 241:
115
        # Begindatum subtraject
116
        # Deze boomparameter wordt thans niet gebruikt door de grouper.
117
        raise NotImplementedError('Boomparameter %d is niet geïmplementeerd.' % boom_parameter_nummer)
118
119 1
    if boom_parameter_nummer == 300:
120 1
        return ZorgActiviteitCode(0)
121
122 1
    if 301 <= boom_parameter_nummer <= 310:
123 1
        return ZorgActiviteitCluster(boom_parameter_nummer - 300, 0)
124
125 1
    if boom_parameter_nummer == 351:
126 1
        return BehandelKlasse(0)
127
128 1
    if boom_parameter_nummer == 400:
129
        return ZorgActiviteitCode(1)
130
131 1
    if 401 <= boom_parameter_nummer <= 410:
132
        return ZorgActiviteitCluster(boom_parameter_nummer - 400, 1)
133
134 1
    if boom_parameter_nummer == 451:
135
        # Behandelklasse – som van (aantal * weegfactor 1)
136
        # Deze boomparameter wordt thans niet gebruikt door de grouper.
137
        # return BehandelKlasse(1)
138
        raise NotImplementedError('Boomparameter %d is niet geïmplementeerd.' % boom_parameter_nummer)
139
140 1
    if boom_parameter_nummer == 500:
141
        return ZorgActiviteitCode(2)
142
143 1
    if 501 <= boom_parameter_nummer <= 510:
144 1
        return ZorgActiviteitCluster(boom_parameter_nummer - 500, 2)
145
146
    if boom_parameter_nummer == 551:
147
        # Behandelklasse – som van (aantal * weegfactor 2)
148
        # Deze boomparameter wordt thans niet gebruikt door de grouper.
149
        # return BehandelKlasse(1)
150
        raise NotImplementedError('Boomparameter %d is niet geïmplementeerd.' % boom_parameter_nummer)
151
152
    raise RuntimeError("Onbekende boomparameter '%s'." % boom_parameter_nummer)
153
154
# ----------------------------------------------------------------------------------------------------------------------
155