diasurgical/DevilutionX

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

オープン

#2,350 opened on 2021/07/10

 (1 件のコメント) (0 件のリアクション) (0 人の担当者)C++ (743 件のフォーク)batch import
good first issuehelp wanted

Repository metrics

Stars
 (7,255 個のスター)
PR merge metrics
 (平均マージ 2d 12h) (30d で 15 merged PRs)

説明

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:

コントリビューターガイド