top | item 44927951

(no title)

arjonagelhout | 6 months ago

I have the same issue. For many of the questions my answer is "all of the above, but A in context A, B in context B, etc.". Many are also not mutually exclusive.

Take this example: "When debugging I typically:"

> Write tests to isolate the problem

In the case of math functions, or more primitive building blocks, writing tests can help ensure correctness of the underlying functions, to exclude them from the problem search.

> Reason about the code logically first

This is always useful.

> Use a debugger to step through code systematically

Useful when dealing with a larger codebase and the control flow is hard to follow. The call stack can give quick guidance over trying to manually decipher the control flow.

> Add print statements to understand data flow:

Useful when debugging continuous data streams or events, e.g. mouse input, where you don't want to interrupt the user interaction that needs to be debugged.

discuss

order

thierrydamiba|6 months ago

Is the fact that the answer isn’t easy a feature or bug?

teapot7|6 months ago

Oh a bug, surely. How is the quiz supposed to give you insights when it's unanswerable?

arjonagelhout|6 months ago

I think it’s a bug in getting a useful outcome, but it’s a feature in creating engagement with the post.

mannykannot|6 months ago

It is not primarily a matter of difficulty. The problem with choices like these is that they seem to be predicated on a rather simplistic, formulaic view of software development - a view that experienced developers will recognize as flawed.

In this case, one tacit assumption is that a given developer will typically adopt just one of these approaches. Another is that they can meaningfully and objectively be ordered along either of the axes purportedly being measured.