if you don't know where to start, start with the boilerplate
@dpwiz yep, define the interfaces and invariants/assertions, overall module structure, make a to-do list in Org-mode
then quickly write a naive but clear implementation without thinking much about the corner cases
then run it ASAP to catch up the syntax errors, identifiers clash, and types mismatch
then observe that it works incorrectly and start debugging it and thinking about the corner cases
and only then start optimizing it, after reaching the correctness, optimize only those parts which a tool *has shown* to be inefficient, not those you *think* may be inefficient
and after finishing don't rush to show it to the supervisors or release, let it draw for a while and do something else
then return to it and reread everything, fix the newly discovered errors and comment everything not entirely obvious, also maybe rename some identifiers with regexp-replace to make them consistent
only then release or wait for the deadline

something like that
@dpwiz p.s. also don't underestimate the power of "fuggit" and switching to other tasks when stuck
Sign in to participate in the conversation
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.