diasurgical/devilutionX

Refactor devilution.DefaultClass::MonsterMHit(int, int, int, int, int, int, bool)

Open

#2350 opened on Jul 10, 2021

View on GitHub
 (1 comment) (0 reactions) (0 assignees)C++ (7,255 stars) (743 forks)batch import
good first issuehelp wanted

Description

I've selected devilution.DefaultClass::MonsterMHit(int, int, int, int, int, int, bool) for refactoring, which is a unit of 108 lines of code and 7 parameters. Addressing this will make our codebase more maintainable and improve Better Code Hub's Keep Unit Interfaces Small guideline rating! 👍

Here's the gist of this guideline:

  • Definition 📖 Limit the number of parameters per unit to at most 4.
  • Why❓ Keeping the number of parameters low makes units easier to understand, test and reuse.
  • How 🔧 Reduce the number of parameters by parsing the missile and possibly creating a Range structure to hold the min/max damage pair. Alternatively, try extracting parts of units that require fewer parameters.

You can find more info about this guideline in Building Maintainable Software. 📖


ℹ️ To know how many other refactoring candidates need addressing to get a guideline compliant, select some by clicking on the 🔲 next to them. The risk profile below the candidates signals (✅) when it's enough! 🏁


Good luck and happy coding! :shipit: :sparkles: :100:

Contributor guide