Ideally, you work out the requirements. Then you formulate those requirements in code, via the static type system and/or automated unit+integration tests. And then you implement your code to match those requirements (compiler stops complaining and tests are green).
Ideally, you don’t have to actually run the whole application to feel confident enough about your changes, although obviously you would still do that eventually, for example before publishing a release.
I do this all the time when working with transformations (in personal projects). I know I need to take into account these 5 variables but I’m not sure exactly how they all fit together, and I really don’t want to get a pen and paper out, so I just shuffle things and their operators about until it works or I get bored and do something else.
It’s rather about changing things randomly.
Ideally, you work out the requirements. Then you formulate those requirements in code, via the static type system and/or automated unit+integration tests. And then you implement your code to match those requirements (compiler stops complaining and tests are green).
Ideally, you don’t have to actually run the whole application to feel confident enough about your changes, although obviously you would still do that eventually, for example before publishing a release.
I do this all the time when working with transformations (in personal projects). I know I need to take into account these 5 variables but I’m not sure exactly how they all fit together, and I really don’t want to get a pen and paper out, so I just shuffle things and their operators about until it works or I get bored and do something else.