Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor file dialogues #106

Open
toonarmycaptain opened this issue Jan 1, 2019 · 2 comments
Open

Refactor file dialogues #106

toonarmycaptain opened this issue Jan 1, 2019 · 2 comments
Labels
enhancement New feature or request

Comments

@toonarmycaptain
Copy link
Owner

I've selected UI_functions.py:save_as_dialogue(title_str,default_file_type,filetypes,suggested_filename,start_dir), and UI_functions.py:select_file_dialogue(title_str,filetypes,start_dir) for refactoring, which is a unit of 19 lines of code and 5 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 grouping related parameters into objects. 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: ✨ 💯

@toonarmycaptain
Copy link
Owner Author

GitMate.io thinks possibly related issues are #18 (Score entry dialogue/logic), #15 (Edit class dialogue and logic), #16 (Graph creation logic/dialogue), #82 (Add tests for file select GUI), and #79 (Spawn OS file handle GUI).

@toonarmycaptain toonarmycaptain added the enhancement New feature or request label Jan 1, 2019
@toonarmycaptain
Copy link
Owner Author

If this gets done, an idea might be to call some of the arguments together as a tuple, then parse, substituting default values if necessary.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant