diasurgical/devilutionX

Refactor devilution.DefaultClass::CheckInvPaste(int, int, int)

Open

#1,996 opened on May 17, 2021

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

Repository metrics

Stars
 (7,255 stars)
PR merge metrics
 (Avg merge 2d 12h) (15 merged PRs in 30d)

Description

I've selected devilution.DefaultClass::CheckInvPaste(int, int, int) for refactoring, which is a unit of 362 lines of code and 135 branch points. Addressing this will make our codebase more maintainable and improve Better Code Hub's Write Simple Units of Code guideline rating! 👍

Here's the gist of this guideline:

  • Definition 📖 Limit the number of branch points (if, for, while, etc.) per unit to 4.
  • Why❓ Keeping the number of branch points low makes units easier to modify and test.
  • How 🔧 Split complex units with a high number of branch points into smaller and simpler ones. This one in particular has a big switch that could probably be split out in to sub-functions.

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


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

Contributor guide