We have quite a few 100-500 line functions in this package. I'm finding it overwhelming to edit these because the interlinkages between variables are not mind-sized, so it is difficult to reason about the consequences of changing anything. The amount of variables that are one and two characters exacerbates this, as you need to track the meaning of every variable in your head rather than reading it directly.
We need to actively chop functions into constituant parts that just do one thing, and higher level functions that call all of those in sequence. This will also shape what objects we need to pass around, as the number of arguments and keywords in scope is also overwhelming.
We have quite a few 100-500 line functions in this package. I'm finding it overwhelming to edit these because the interlinkages between variables are not mind-sized, so it is difficult to reason about the consequences of changing anything. The amount of variables that are one and two characters exacerbates this, as you need to track the meaning of every variable in your head rather than reading it directly.
We need to actively chop functions into constituant parts that just do one thing, and higher level functions that call all of those in sequence. This will also shape what objects we need to pass around, as the number of arguments and keywords in scope is also overwhelming.