diasurgical/DevilutionX

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

Ouverte

#2 350 ouverte le 10 juil. 2021

 (1 commentaire) (0 réaction) (0 personne assignée)C++ (743 forks)batch import
good first issuehelp wanted

Métriques du dépôt

Stars
 (7 255 étoiles)
Métriques de merge PR
 (Métriques PR en attente)

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:

Guide contributeur