I love this. Inevitably I want to make some improvements. > “He laughed with the kind of booming abandon that made the whole restaurant turn around and look.” The kind of ? If it's a kind that exists generically then we can't have a past tense, so: “He laughed with the kind of booming abandon that *makes* the whole restaurant turn around and look.” But really, why emphasise it being generic? This is better: “He laugh…
What I think about when I edit (2019)
41–50 of 138 posts
Re: What I think about when I edit (2019)
#42I was a doc reviewer in my corporate past life and found myself using many of these guidelines. I’d add one more: don’t use different names for the same thing. Many of the docs I reviewed had multiple authors and quite often they used slightly different terminology. This really complicated things for readers. I eventually realised there was a meta-principle here: in tech writing, the reader should never have to resol…
I'd also add that repeated ideas should be parallel, most commonly when you have multiple list items they should be presented "similarly", e.g.
BAD: Windows is a bad operating system for many reasons:
* It is ugly
* Unstable
BETTER: Windows is a bad operating system for many reasons:
* It is ugly
* It is unstable
OR: Windows is a bad operating system for many reasons:
* Ugly
* Unstable
Another problem I often see is documents or presentations that don't have a coherent narrative, where the ideas presented feel disjointed or random. As much as possible, each sentence should clearly lead to the next one and have a clear relation to it. Each idea should clearly lead to the next one and have a clear relation to it. Where things don't feel related, make sure to explain how they are related.As a simplified example (since this is hard to explain), when talking about a new service you intend to introduce you may talk about things like plans for scalability, reliability, error handling and cost. If you just talk about these things with no relevant introduction, they will feel random, but if you introduce them ahead of time with an overview of the relevant considerations they will feel more grounded. Additionally, you may want to discuss cost after scalability since the ideas follow from each other (maybe even scalability->reliability->cost to explain what we can do for reliability at different scales, and then finally the cost for each scale and threshold of reliability), whereas error handling is usually a technical decision that you may want to separate out to a separate discussion.
Re: What I think about when I edit (2019)
#43In fact, more than once, I have seen the bizarre situation where a team is responsible for developing and maintaining some service known by the name, say, ABC, but nobody in the team knows what ABC really expands to. In such instances, in order to avoid choosing a new name and updating all related documentation etc., the only recourse is to treat ABC as a proper noun and move on.
Fictitious example: To obtain an access token for CDIS, first go to DMC at https://dsc.prod.example.com>, click on the entry for "CDIS" on the left sidebar, click "Generate Access Token", and copy the token.
What I would like to read instead: To obtain an access token for Customer Data Indexing Service (CDIS), first go to Data Management Console (DMC) at https://dsc.prod.example.com>, click on the entry for "CDIS" on the left sidebar, click "Generate Access Token", and copy the token.
Re: What I think about when I edit (2019)
#44Earlier quoted context omitted.
This gets even worse in software code. When "Naming things" is hard, and two people name the same thing, they'll very likely give it a different name. A guarantee to maintenance nightmares. DDD by Eric Evans suggests using Ubiquitous Language. Even when I don't use anything from DDD, I always add a dictionary.md in which we write down the domain terms. What is a Customer? What does a "Loan Application" mean. What can…
Why not put those definitions into the code, next to the types that define those entities?
- The "types that define those entities" (that do map) can be scaterred across multiple source code files (so this would also scatter the definitions)
- The code is not where people look for reference, even more so for non-coders that still need to refer to the same things (e.g. UX, sales)
- The definitions that do map to types, could still be reusable in multiple code projects. Putting them in the code means you need to repeat them, make sure they're consistent, and sync them across codebases when some definition is changed/improved.
-
Re: What I think about when I edit (2019)
#45One of my pet peeves while reading technical documents is coming across acronyms that have not been introduced to the reader yet. When this happens over and over again across several documents of a project and people working on the project change over years, sometimes we end up in a situation where nobody can tell anymore what a particular acronym expands to. In fact, more than once, I have seen the bizarre situation…
Re: What I think about when I edit (2019)
#46Earlier quoted context omitted.
Your term may not map cleanly to a single OOP class, and it may also be used in other function/variable names. There's also how you will express yourself in the code comments. I mean, I'm guessing the dictionary is not just for nouns, but also verbs and adverbs. What will "transact" usually mean in this codebase? What will "safely" mean?
> Your term may not map cleanly to a single OOP class That's not really an argument, as it will map to either entities or functions, both of which can be annotated with this information. An argument against documenting it on the entities and functions would be that this would spread the information across the repository. The value you get from doing this in a single markdown file is the overview it provides, I think.…
No, it might not map to entities or functions. It could refer to concepts about the project that are not mapped in the code, but are still important to communicate with the team, the customers, and so on.
And even for terms that do map to entities and functions, it would be a bad idea to have the developers (and especially non developrs) hunt them around (even if it's just a grep away). As you say, the overview is important.
>These kinds of methodologies enable development with high turnover in large enterprise, which treat developers more like cogs that temporarily work on a given software.
Even small teams of 4-10 people can benefit from shared common terminology, especially if each might work in different repos (or e.g. backend and front-end).
Re: What I think about when I edit (2019)
#47I was a doc reviewer in my corporate past life and found myself using many of these guidelines. I’d add one more: don’t use different names for the same thing. Many of the docs I reviewed had multiple authors and quite often they used slightly different terminology. This really complicated things for readers. I eventually realised there was a meta-principle here: in tech writing, the reader should never have to resol…
Re: What I think about when I edit (2019)
#48I love this. Inevitably I want to make some improvements. > “He laughed with the kind of booming abandon that made the whole restaurant turn around and look.” The kind of ? If it's a kind that exists generically then we can't have a past tense, so: “He laughed with the kind of booming abandon that *makes* the whole restaurant turn around and look.” But really, why emphasise it being generic? This is better: “He laugh…
It still applies if the past tense is only meant to apply to the reaction to what he did at that point in the past ("made the whole restaurant turn around and look") and not to the general reaction to such booming abandon.
Then this:
> “He laughed with the kind of booming abandon that made the whole restaurant turn around and look.”
Can still refer to the generalized abandon, but should rather be:
> “He laughed with a kind of booming abandon that made the whole restaurant turn around and look.”
Though, the non-generalized version is indeed better.
Re: What I think about when I edit (2019)
#49I’d like to add support for using passive voice in work / business emails. This is great, not only for obscuring blame, but obscuring the _opportunity_ for blame.
Re: What I think about when I edit (2019)
#50Earlier quoted context omitted.
> “He laughed with a booming abandon that made the whole restaurant turn around and look.” Don't the people in the restaurant actually turn around in this sentence, whereas they didn't in the original, because it's just describing a kind of loudness with an example? > “He laughed with the kind of booming abandon that makes the whole restaurant turn around and look.”
Well, yes, but one is telling and one is showing. A good story teller shows and not tells.
A good story teller can both show and tell, depending on whatever fits the story, their stylistic choice, and their intention.