Welcome to the LMU Computer Science “Hacking” Guidelines website. This site aims to provide a concrete list of guidelines, supported by rationales and examples, for writing code (and potentially doing other things) in the best possible way.

Two Guidelines to Rule Them All

Beyond the obvious “your code should work correctly,” the following guidelines serve as the foundation for everything else you will see on this site. When in doubt about something, apply these fundamentals in order to reach the right decision.

fnd-mng

Your code’s appearance should accurately reflect its structure and meaning.

Reason
In the spirit of the Don Knuth quote at the top of this site, our primary value is the effective communication of our code’s intent to fellow human beings. Since fellow humans read your code and not your mind, it is your code’s appearance that will convey this intent.

fnd-ease

Make your code as easy to understand, maintain, and extend as possible.

Reason
The long-term “life” of your code will be one of change. Because the ultimate rule is for your code to be correct, we want it to change correctly. Ease of understanding comes in because the maintainer or extender of your code will not necessarily be you. In fact, even if that changer is a future you, that person might not remember what you know and understand now.

If you can’t click on a section or a link goes nowhere, then that section hasn’t been written (yet).

Language-Independent Guidelines

“Curly-Brace” Languages

Web Technologies

Python

Ruby