adafruit / Adafruit_CircuitPython_PyBadger

Badge-focused CircuitPython helper library for PyBadge, PyBadge LC, PyGamer and CLUE
MIT License
21 stars 26 forks source link

Code fails duplicate-code check, consider refactor #59

Open evaherrada opened 2 years ago

evaherrada commented 2 years ago

https://github.com/adafruit/Adafruit_CircuitPython_PyBadger/runs/6993442457?check_suite_focus=true#step:11:33

tekktrik commented 2 years ago

This library is a candidate for refactoring based on pylint warning of duplicate code. The solution for this library would be to refactor the code to not have duplicated portions of code. In most cases, this might mean making base classes/functions so code can be recycled, but in some cases it may mean removing duplicate functionality (e.g., for compatibility).

To determine the duplicate code section, allow pylint to warn against duplicated code by removing ,duplicate-code from .pre-commit-config.yaml and then running pre-commit:

https://github.com/adafruit/Adafruit_CircuitPython_PyBadger/blob/3b8496e175bc63a45362f118c6f16bcbf4a3aa31/.pre-commit-config.yaml#L27

Then, refactor the duplicated code sections until it passes pre-commit. The modified .pre-commit-config.yaml file and refactored code can then be submitted as a PR.