O'Reilly logo

Code Simplicity by Max Kanat-Alexander

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Appendix B. Facts, Laws, Rules, and Definitions

This appendix lists every single major fact, law, rule, and definition covered in this book:

  • Fact: The difference between a bad programmer and a good programmer is understanding. That is, bad programmers don’t understand what they are doing, and good programmers do.

  • Rule: A good programmer should do everything in his power to make what he writes simple for other programmers to use and comprehend.

  • Fact: Everybody who writes software is a designer.

  • Rule: Design is not a democracy. Decisions should be made by individuals.

  • Law: The purpose of software is to help people.

  • Law: The Equation of Software Design:

    image with no caption

    This is the Primary Law of Software Design. Or, in English:

    The desirability of a change is directly proportional to the value now plus the future value, and inversely proportional to the effort of implementation plus the effort of maintenance.

    As time goes on, this equation reduces to:

    image with no caption

    Which demonstrates that it is more important to reduce the effort of maintenance than it is to reduce the effort of implementation.

  • Rule: The quality level of your design should be proportional to the length of future time in which your system will continue to help people.

  • Rule: There are some things about the future that you do not know.

  • Fact: The most common and disastrous ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required