"A problem well stated is a problem half solved" I believe this.
Most of the time when I have a hard time programming something, it is because I don't know exactly what I want. Yes, programming is flexible, and you don't want a completely finished "plan" before you start coding.
Because there are unforeseen variables.
But you don't want to code "straight ahead" either.
You might get away with it with SIMPLE things, or things you have a very clear vision of in your head already. Hence why I can code pretty awesome effects straight ahead. Because I am very good with geometry and visualization.
However, my "testers" menu is giving me a hard time... And I know it is because I haven't decided exactly how it works yet.
So... What are some ways I can get unstuck?
Traditionally, this is how I get unstuck when I don't know how to finish a piece of code:
1. Write placeholder data that the code needs to work with. It's like, the difference between practicing sauteing with a pan full of beans, and practicing sautaying with just going over the motions with an empty skillet. In my current situation, I should assemble the JSON file that has all of the tester info within it.
2. PRETEND to use the code in your current project. Write code calling upon public methods of the class you are writing. These methods may not exist yet, but just pretend they do. After writing code PRETENDING to use the unfinished class, you get a better idea
of what functions you still need to write. And what data needs to be inputted and stored within the class. I do this a LOT. This also helps make the code easy to use, since you approached it from a usability standpoint.
3. Draw out the connections. Draw out how everything is connected.
4. Related to 3: Add comments and diagrams to the already existing code. While you are stumped, why not take time to become very familiar with the code you have already written. This will help you move forward.
I am still feeling quite lazy. Like I am spinning my wheels. I am feeling lazy and uninspired. So I figured the least I could do is document my current problems.
Looking over everything I have written... Writing a testerNameAndInfo.JSON file looks like the
next thing I need to do. I could also include a slot for their EMAIL if they have given me email.
I don't want to do it... But I listened to some TED talks that say, "You'll never feel like doing the things that need to be done."
While I disagree with the NEVER part. I sometimes feel it is necessary to force yourself to work on something that you feel uninspired by...
Though a better solution would be to figure out how to inspire myself.
Or... figure out how to take a break.
You cannot get blood from a stone.
And I still need to make a list of "things I have done today."
Okay... I will check my planner... Then create the .JSON file... Then out of here because I cannot focus.