This is an opinion, so feel free to disagree.

Whenever you have an enumeration (whenever you list stuff out) that’s written inline with commas, break it off into an explicit list, either unordered (bullet points) or ordered (with 1., 2., etc.).

This makes the enumeration obvious and easier to read.

## Examples of Comma Separated Enumerations

### Contrived example

A homeomorphism is a bijective, continuous function, whose inverse is also continuous.

### Actual Example from a Friend’s Blog

His blog no longer has this, but the original form was:

Pure functions are often defined as those without side effects. Side effects tend to be handwaved as “things that affect hidden state”, “things that are confusing”, “things that are bad that you can do in C++ because C++ is bad”, and other such bogeymen.

## Rewritten forms

### Homeomorphisms

A homeomorphism $f$ is a function that is:

• bijective
• continuous
• $f^{-1}$ is also continuous.

### Side Effects

Pure functions are often defined as those without side effects.

Side effects tend to be handwaved as:

• “things that affect hidden state”
• “things that are confusing”
• “things that are bad that you can do in C++ because C++ is bad”
• other such bogeymen.

## Caveats

It’s important to put the redundant info in the header for each list, or else it sounds weird when read.

### Example

A homeomorphism is:

• a bijective function
• a continuous function
• $f^{-1}$ is also continuous.

Repeating “a function” sounds weird.

## Takeaway

Go forth and write lists that people can read at a glance. Don’t make your readers work as much as possible, because God knows they’re lazy.

## Errors

If you find any errors, or if I’m just plain wrong, or you want to tell me something, feel free to tell me.