Code Refactoring To remove code smells #1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Purpose of PR
This PR includes some code refactoring to remove code smells from the project.
Changes Made
Following refactoring has been performed:
Extract Method
calculatePowerLevel
fromupdate
method from BaseInfo class to remove complex-method implementation smell.Rename Variable and Method
createStraightRoadSection
in terrain.java as there was typo in method name.put
method tocreateArbitraryVertex
method to give it a meaningful name.change
tochangeVertex3DGeometry
to make it more meaningful and improve understandability.o
ofSolidObject
class tosolidObject
to improve code understandability.Move Method Refactoring:
addStealthTank
method fromscoutingMangerAI
toSolidObject
.feature envy smell
as this method was more interested in SolidObject class.Pull Method:
HeavyTank
, andLightTank
had duplicate variables which are pulled to anintermediate class Tank
fireBullet()
thus performed extract method and pull method.spawnExplosion
and pulled it to intermediate parent class TankPush Method:
clonePolygons
method is pushed down from the parent classSolidObject
.Harvester
,ConstructionYard
,ConstructionVehicle
,andDrone
class.cloneObjects
method which introducedRebellious Hierarchy Design smell.
If you have any suggestions or want me to accommodate more changes, I'll be more than happy to contribute.
Feel free to reach me out at [email protected].
Cheers