-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
low priorityNot urgent to fixNot urgent to fixrefactorSomething should be written betterSomething should be written better
Description
Especially the block for handling visualization speed (introduced in #6) is really hard to parse and requires weird exception handling.
brainfuck.py/src/brainfuckpy/__main__.py
Lines 32 to 45 in a3bb355
| evaluator = evaluate_brainfuck | |
| if "-vis" in sys.argv or "--visualize" in sys.argv: | |
| evaluator = visualize_evaluation | |
| try: | |
| if "-vrr" in sys.argv: | |
| speed_index = sys.argv.index("-vrr") + 1 | |
| set_visualization_refresh_rate(float(sys.argv[speed_index])) | |
| elif "--visualization-refresh-rate" in sys.argv: | |
| speed_index = sys.argv.index("--visualization-refresh-rate") + 1 | |
| set_visualization_refresh_rate(float(sys.argv[speed_index])) | |
| except ValueError: | |
| incorrect_usage() | |
| elif "-vrr" in sys.argv or "--visualization-refresh-rate" in sys.argv: | |
| incorrect_usage() |
The other parts of this function are also quite ugly and unmaintainable, however. They should also get some attention. Most of them should simply be pulled into their own functions in order to keep main itself relatively clean.
Metadata
Metadata
Assignees
Labels
low priorityNot urgent to fixNot urgent to fixrefactorSomething should be written betterSomething should be written better