...

Text file src/github.com/opencontainers/runc/PRINCIPLES.md

Documentation: github.com/opencontainers/runc

     1# runc principles
     2
     3In the design and development of runc and libcontainer we try to follow these principles:
     4
     5(Work in progress)
     6
     7* Don't try to replace every tool. Instead, be an ingredient to improve them.
     8* Less code is better.
     9* Fewer components are better. Do you really need to add one more class?
    10* 50 lines of straightforward, readable code is better than 10 lines of magic that nobody can understand.
    11* Don't do later what you can do now. "//TODO: refactor" is not acceptable in new code.
    12* When hesitating between two options, choose the one that is easier to reverse.
    13* "No" is temporary; "Yes" is forever. If you're not sure about a new feature, say no. You can change your mind later.
    14* Containers must be portable to the greatest possible number of machines. Be suspicious of any change which makes machines less interchangeable.
    15* The fewer moving parts in a container, the better.
    16* Don't merge it unless you document it.
    17* Don't document it unless you can keep it up-to-date.
    18* Don't merge it unless you test it!
    19* Everyone's problem is slightly different. Focus on the part that is the same for everyone, and solve that.

View as plain text