▲ | skydhash 5 days ago | ||||||||||||||||
> Tracking variables, remembering syntax, That's why you have short functions so you don't have to track that many variable. And use symbol completion (a standard in many editors). > trying to think through every edge case, avoiding off-by-one errors. That is designing, not coding. Sometimes I think of an edge case, but I'm already on a task that I'd like to finish, so I just add a TODO comment. Then at least before I submit the PR, I ripgrep the project for this keyword and other. Sometimes the best design is done by doing. The tradeoffs become clearer when you have to actually code the solution (too much abstraction, too verbose, unwieldy,...) instead of relying on your mind (everything seems simpler) | |||||||||||||||||
▲ | crazygringo 5 days ago | parent [-] | ||||||||||||||||
You always have variables. Not just at the function level, but at the class level, object level, etc. And it's not about symbol completion, it's about remembering all the obscure differences in built-in function names and which does what. And no, off-by-one errors and edge cases are firmly part of coding, once you're writing code inside of a function. Edge cases are not "todos", they're correctly handling all possible states. > Sometimes the best design is done by doing. I mean, sure go ahead and prototype, rewrite, etc. That doesn't change anything. You can have the AI do that for you too, and then you can re-evaluate and re-design. The point is, I want to be doing that evaluation and re-designing. Not typing all the code and keeping track of loop states and variable conditions and index variables and exit conditions. That stuff is boring as hell, and I've written more than enough to last a lifetime already. | |||||||||||||||||
|