Showing posts with label documentation. Show all posts
Showing posts with label documentation. Show all posts

Monday, July 27, 2020

Design Docs at Google article

This is a really good article on design doc in thinking and in practice.
https://www.industrialempathy.com/posts/design-docs-at-google/

I wonder how other tech giants go about design docs.

- Quick Outline (in article) -

    For new readers to catch up and (for everyone to) link up to detailed information when necessary.
    Since design docs are overhead, know the trade-offs with whether a design doc is necessary or not.

Anatomy of a Design Doc

    Context & Scope

    Goal & non-goals

    Actual Design: One Overview & One Detailed

    System-context diagram

    APIs

    Data Storage

    Code & Pseudocode

    Degree of constraint

    Alternatives Considered

    Cross-Cutting Concerns

    Length of Design Doc


Design Doc Lifecycle

  1. Creation & rapid iteration
  2. Review
  3. Implementation & iteration
  4. Maintenance & learning



Wednesday, September 7, 2016

D3 - Coding with Readability and Usefulness, no more d variable

One of the things I find so irritating is the overuse of letters which lack sufficient readability (to understand code without having to dig into the back-end to gain meaning).

I'm learning and working on D3 stuff and I see many examples using the letter d. This d stands for data, obviously. BUT, almost everything in the world is a d (i.e. data). Needless to say, I had to update code to ensure better understanding and programming. Here's my example of better coding using D3.

Before

groups.selectAll('text')
    .data(function (d) {
        console.log(d);
        return d;
    })
    .enter()
    .append('text')
    .text( function (d, i) {
        console.log(i);
        if (typeof d === 'number')
        {
            console.log("data type is a number, not object...skipping.");
            return;
        }
        console.log(d);
        return d.x;
    });

After

groups.selectAll('text')
    .data(function (arr) {
        console.log(arr);
        return arr;
    })
    .enter()
    .append('text')
    .text( function (obj, i) {
        console.log(i);
        if (typeof obj === 'number')
        {
            console.log("data type is a number, not object...skipping.");
            return;
        }
        console.log(obj);
        return obj.x;
    });

In the After, I updated the d within the data method into "arr" as its a data array representing the dataset passed in. I updated the d within the text method into "obj" as its a data object of the data array passed in.

I hope this helps somebody.

Blessings,

Wednesday, June 29, 2016

The opposite of "last updated" = "least active"

Dev,

Today I found myself absorbed with a co-worker in search of the right term for the opposite of "last updated". I found probable terms like "wane", "stale", and "untouched", but none quite fitting and self-explanatory for users.

We asked a fellow co-worker, an analyst, who came up with "active" and "idle". Of course, why didn't I think of this? In earlier projects and working with former teams, it's common to use the phrase "most active" and "least active" in respect to projects.

So, there we have it and now I have it recorded for my future reference to never waste another couple hours trying to figure this out. I can't believe this isn't already captured in certain websites or online forums like: http://english.stackexchange.com/questions/46976/opposite-of-most-recently

Photo by betaBoston
Happy Thinking,
G2