Code Monkey home page Code Monkey logo

tips's Introduction

Terra Improvement Proposals (TIPs)

TIPs are a way to standardize proposed changes to the Terra core. Each TIP should be written using the templates found in this repo. The TIP template contains instructions on each section in the raw markdown. Read the TIP example to see how to write a good TIP.

Anatomy

TIPs are arranged in the following structure:

Title: TIP # 01 Your Title Here
│ 
├── General info: TIP #, Author, Network, Date
├── Summary: A brief summary of the change in plain English. 
├── Motivation: The problem; why the change needs to be made.
│ 
├── Tech Spec
│   ├── Modules: A list of the affected modules. 
│   ├── Overview: The solution; a technical overview of the change. 
│   ├── Method: How the change will be implemented.
│   ├── Code: Examples of the code involved. 
│   └── Considerations: General considerations or cautions. 
│ 
├── Timeline: The timeframe needed to complete the change.
└── Tests: A list of tests implemented or needed. 

Writing TIPs

A TIP should be clear and concise.

After reviewing a TIP, a reader should have a clear idea of the following:

  • What the change is (Summary and Overview).
  • Why the change needs to be made (Motivation).
  • How the change will be made (Method).
  • The technical details of the change (Tech Spec, Code, and Considerations).
  • What success looks like (Outcome).
  • Lead time and testing details (Timeline, Tests).

There is no set length for TIPs. Each TIP should clearly outline a necessary change. More complex TIPs will naturally be longer. Keep TIPs succinct while providing all pertinent info.

Generally, shorter sentences are easier to write and read. Avoiding unnecessarily complex clauses will help clarify your writing.

tips's People

Contributors

hanjukim avatar ouiliame avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.