DEV Community

Cover image for Black or white
stereobooster
stereobooster

Posted on • Edited on

Black or white

What is "black or white" problem?

This problem also is known as "false dichotomy" (Greek: διχοτομία "dividing in two") or "false dilemma".

According to yourlogicalfallacyis: You presented two alternative states as the only possibilities, when in fact more possibilities exist.

Also known as the false dilemma, this insidious tactic has the appearance of forming a logical argument, but under closer scrutiny, it becomes evident that there are more possibilities than the either/or choice that is presented. Binary, black-or-white thinking doesn't allow for the many different variables, conditions, and contexts in which there would exist more than just the two possibilities put forth. It frames the argument misleadingly and obscures rational, honest debate.

For example, the claim that "you’re either with me, or you’re against me" is a false dichotomy.

In software development

Let's talk about the false dichotomy in the context of software development.

Types vs tests

No types don't replace tests and tests doesn't replace types. You can use both. See this article for details.

Self-documenting code vs comments

No self-documenting code doesn't mean that you can omit comments. Self-documenting is clean code with good naming, it can cover question: what and how. Comments can cover questions: what (extended explanation of business-specific terms), why (extended explanation of business-specific rules, or why we need to use this trick/hack)

Types vs documentation

Types don't replace documentation. See the previous section.

Dynamic type checking vs static type checking

Most static type checking use dynamic type checking as well.

Name your example

Do you know examples of your "favorite" false dichotomy in software development?

Photo by Rares Cimpean on Unsplash

Top comments (0)