Skip to content

Refactor __main__.main. #7

@daankoning

Description

@daankoning

Especially the block for handling visualization speed (introduced in #6) is really hard to parse and requires weird exception handling.

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

No one assigned

    Labels

    low priorityNot urgent to fixrefactorSomething should be written better

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions