diasurgical/DevilutionX

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

Aperta

#2350 aperta il 10 lug 2021

 (1 commento) (0 reazioni) (0 assegnatari)C++ (743 fork)batch import
good first issuehelp wanted

Metriche repository

Star
 (7255 stelle)
Metriche merge PR
 (Merge medio 2g 12h) (15 PR mergiate in 30 g)

Descrizione

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:

Guida contributor