Engineering Principles
Here's a few of my favorites. BSR, CFtM, DRY, KISS, PLA, SOC, YAGNI
According to wikipedia, a principle is a proposition or value that is a guide for behavior or evaluation. Following your principles is a good thing, both at work and at outside work. They help you make decisions and figure out what to do. Good principles help you make good designs. Good designs lead to good products and good outcomes. So what principles should we be following?
You've probably heard of those acronyms, but just in case:
Boy Scout Rule - Leave things better than you found
them
Code For
the Maintainer - which is most likely you, so do
yourself a favor
Don't Repeat Yourself - If you need to do something twice, use the same thing, don't
build a new one
Keep It Simple Stupid - Make
things as simple as possible, but no simpler
Principle of Least Astonishment - Don't surprise your user. Do what they
expect
Separation Of Concerns - The old
Unix philosophy, do one thing, and do it well
You Ain't Gonna Need It - Don't create things you don't need now. Wait until you need it. You may never need it, and if you do, you'll
know much more by then.
Following these principles helps at whatever scale you're working at, whether it's a function, feature, service, platform, or product. What principles speak directly to you?