📒
SDV503
  • SDV503
  • Command Prompt
    • Windows Command Prompt
    • Mac OS Terminal
  • GIT & GITHub
    • GitHub
    • Git
      • Git Workflow
        • Forking Workflow
  • README
    • How to write a readme.md file?
    • Write a better README.me
    • Generate a README for GitHub Repo Quickly
  • Code-comments
    • Clean Comments
    • Writing Comments in a Good way
  • Pair Coding
    • What is Pair Coding?
    • Pair Programming Experience
  • Programming?
    • What is Programming?
    • What Is A Programming Paradigm?
    • JavaScript Programming Paradigms
  • Number Systems
    • Decimal and Binary numbers
  • JavaSCript
    • Introduction To JavaScript
      • The JavaScript Engine
  • JS Call Stack
    • JavaScript call stack
    • JavaScript & Memory
      • Memory Leaks in JavaScript
    • Execution Context and Execution Stack in Javascript
      • Javascript Execution Context and Hoisting
  • JavaScript Variables
    • Introduction to JS Data Types
    • Primitive and Non-Primitive
    • Operator precedence and associativity
      • JS Operators Part One
      • JS Operators Part Two
      • JS Operators Part Three
    • Clean Code for JS Variables
  • JavaScript Scopes
    • Scope (Chain) Visualized
  • Javascript  — this keyword
  • JavaScript Data Types
    • More JavaScript Data Types
  • JavaScript Expressions and Statements
  • if/else, switch and ternary operator
    • If/Else statement
  • Switch Statement
  • Ternary Operator
  • JavaScript Loops
    • Loops in JavaScript
      • Trouble With Loops
  • Objects
    • JavaScript Objects
      • Prototypal Inheritance Visualized
      • JavaScript Number Object
      • JavaScript String Object
  • Functions
    • JavaScript Function Part One
    • JavaScript Function Part Two
    • Immediately Invoked Function Expressions ~ IIFE
    • JS => Arrow Functions
    • JavaScript Callback
    • Hoisting in JavaScript
      • Hoisting Visualized
    • Recursion Functions
    • Curry and Function Composition
  • JavaScript Features
    • JSpread Operator
    • JavaScript Built-in Functions & Objects
  • Data Structures&Algorithms
    • JavaScript’s Data Types
    • Data Structures in JavaScript
      • Introduction to Big O Notation
      • Big O Notation in Javascript
      • Linked Lists
        • Linked Lists — 2
      • Hash Tables
      • Stack & Queue
  • TLDR
    • Single quotes (‘ ’) and double quotes (“ ”) in JavaScript
  • ES6
    • Generators and Iterators
    • Javascript Classes
    • JavaScript closures
    • JavaScript Promises & Async/Await
      • Event Loop Visualized
  • C#
    • What does C#? (C Sharp)
    • C# vs JavaScript
    • What Is The Difference Between C#, .NET, ASP.NET, Microsoft.NET, and Visual Studio?
    • What is the .NET Framework?
    • Methods and Properties of Console Class in C#
    • Datatypes in C#
    • C# Code Comments
    • The if statement
    • The switch statement
    • Loops
    • Comparison operators
    • Addition assignment operators
    • The String Interpolation Operator
    • Arrays
    • Lists
    • Dictionaries
Powered by GitBook
On this page
  • Tip #1 Keep it tidy
  • Tip #2 Trust no one
  • Tip #3 Maintain the focus
  • Tip #4 Don’t explain too much

Was this helpful?

  1. README

Write a better README.me

Tip #1 Keep it tidy

Don’t pack a book about your project on a single markdown file. Break it if necessary! If a given topic gets too complicated or verbose, break it. Don’t punch your visitors with that 30 step update guide at first sight!

Tip #2 Trust no one

Don’t saturate your README with external links. Links break. Webpages move and content change. You may end up pointing in the wrong direction. And let’s be honest: no one likes to update documentation because a blog post changed.

Tip #3 Maintain the focus

It sucks to open a project and be granted with something like:

The project depends on external-package, to install it, run: #ubuntu sudo apt get install external_package # arch sudo pacman -S ext_package # fedora sudo dfn install external_package_2 # macos brew install epackage

Don’t teach people how to use a package manager, unless your project is a package manager.

If you do this, your are telling your future self “Update the docs all the time”. Instead, just say:

Dependencies: - external-package

At max, point to the project repository. The README is about your project, not about your project’s dependencies.

Tip #4 Don’t explain too much

The will to prevent a lack of information oftentimes leads to an excessive focus on explanation. Avoid explanation in general, keep the text about what’s your project, teach to install it, and give a glance at how to use it. Imagine you’re writing a description for a mailing library: instead of “We were facing a bug with our cache system in 2018, so we added the option to use multiple client configurations” (which is nothing but an explanation), tell “the project supports multiple cache client configurations”. People want to know about your project. Your struggle should live somewhere else.

There’s no such thing as a ‘perfect project description’, but following those rules will help you keep sane, have more time to focus on the project itself, and lead people through your guidance with a smoother experience.

PreviousHow to write a readme.md file?NextGenerate a README for GitHub Repo Quickly

Last updated 4 years ago

Was this helpful?