Design the program's internals in an object oriented fashion
Currently the program has no real design. There are some elements of functional design: functions get passed around, namedtuple, which works like Ocaml's record, is used for storing data (Auction, Task). Although the program is relatively small, it is already quite complicated to get an overview over its structure.
I don't know how to structure bigger programs in a functional way, and I should probably read a little about it. However I (and potential collaborators) know object oriented design already. Therefore it would probably a good idea to structure the program's internals in an object oriented fashion.
Blueprint information
- Status:
- Not started
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- None
- Direction:
- Needs approval
- Assignee:
- None
- Definition:
- Discussion
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by
Whiteboard
Potential objects:
Comment Formatter
-------
The auction's comment will probably develop into a mini language, with several options how it should be interpreted: Commas should separate individual tags. The vertical bar "|" separates the relevant part from the rest of the comment, that is discarded.
It would be nice to have options that alter this behavior: The comments could be ignored; the tags could be sorted and then fused into a single tag; and treat each tag individually (the normal behavior).