Have a look through our collection of open-source principles, sorted by most recently edited
Create variables to add meaning
Create a structured representation of the system's state
Avoid using shorter replacement variables that aren't explicit
Methods and classes should explicitly require any collaborating objects they need in order to function correctly
Write code to respond to external events, such as from an existing framework
high level modules should not depend on low level modules; both should depend on abstractions.