Conditions | 2 |
Paths | 2 |
Total Lines | 67 |
Code Lines | 56 |
Lines | 0 |
Ratio | 0 % |
Changes | 0 |
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:
If many parameters/temporary variables are present:
1 | <?php |
||
62 | function parser(): ParserInterface |
||
63 | { |
||
64 | static $instance = null; |
||
65 | |||
66 | if (null === $instance) { |
||
67 | $builders = [ |
||
68 | // Standard |
||
69 | new ArgumentBuilder(), |
||
70 | new BooleanBuilder(), |
||
71 | new DirectiveBuilder(), |
||
72 | new DocumentBuilder(), |
||
73 | new EnumBuilder(), |
||
74 | new FieldBuilder(), |
||
75 | new FloatBuilder(), |
||
76 | new FragmentDefinitionBuilder(), |
||
77 | new FragmentSpreadBuilder(), |
||
78 | new InlineFragmentBuilder(), |
||
79 | new IntBuilder(), |
||
80 | new ListBuilder(), |
||
81 | new ListTypeBuilder(), |
||
82 | new NameBuilder(), |
||
83 | new NamedTypeBuilder(), |
||
84 | new NonNullTypeBuilder(), |
||
85 | new NullBuilder(), |
||
86 | new ObjectBuilder(), |
||
87 | new ObjectFieldBuilder(), |
||
88 | new OperationDefinitionBuilder(), |
||
89 | new SelectionSetBuilder(), |
||
90 | new StringBuilder(), |
||
91 | new VariableBuilder(), |
||
92 | new VariableDefinitionBuilder(), |
||
93 | // Schema Definition Language (SDL) |
||
94 | new FieldDefinitionBuilder(), |
||
95 | new ObjectTypeDefinitionBuilder(), |
||
96 | new ObjectTypeExtensionBuilder(), |
||
97 | new EnumTypeDefinitionBuilder(), |
||
98 | new EnumValueDefinitionBuilder(), |
||
99 | new InterfaceTypeDefinitionBuilder(), |
||
100 | new InputValueDefinitionBuilder(), |
||
101 | new UnionTypeDefinitionBuilder(), |
||
102 | new ScalarTypeDefinitionBuilder(), |
||
103 | new InputObjectTypeDefinitionBuilder(), |
||
104 | ]; |
||
105 | |||
106 | $readers = [ |
||
107 | new AmpReader(), |
||
108 | new AtReader(), |
||
109 | new BangReader(), |
||
110 | new BlockStringReader(), |
||
111 | new BraceReader(), |
||
112 | new BracketReader(), |
||
113 | new ColonReader(), |
||
114 | new CommentReader(), |
||
115 | new DollarReader(), |
||
116 | new EqualsReader(), |
||
117 | new NameReader(), |
||
118 | new NumberReader(), |
||
119 | new ParenthesisReader(), |
||
120 | new PipeReader(), |
||
121 | new SpreadReader(), |
||
122 | new StringReader(), |
||
123 | ]; |
||
124 | |||
125 | $instance = new ASTParser($builders, $readers); |
||
126 | } |
||
127 | |||
128 | return $instance; |
||
129 | } |
||
169 |