Hacker News new | ask | show | jobs
by arjonagelhout 301 days 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.

1 comments

Is the fact that the answer isn’t easy a feature or bug?
Oh a bug, surely. How is the quiz supposed to give you insights when it's unanswerable?
By forcing you to make a decision without context.

Similar to how when presented with the trolley problem some will ask many follow up questions about the individuals on each track, the train, etc.

That’s not the point.

But here, the context is relevant, and the analogy does not change this.
> By forcing you to make a decision without context.

Not the OP, but what would be the point to that? In any practical scenario there is always context, isnt it? I guess I don't quite get what we are trying to measure here.

I think it’s a bug in getting a useful outcome, but it’s a feature in creating engagement with the post.
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.