Practices and Principles to develop software
In order to develop better software, certian principles are followed for stronger and secure applications. This is a curated list of accepted principles and practices for Selene Software, and any others who wish to follow, to follow when developing new software.
These are to be followed for all application development.
- Single Responsibility Principle
- An object should do just one thing, and do it well.
- Open/Closed Principle
- A class should be open for extension, but closed for modification
- Liskov Substitution Principle
- Objects in a program should be replaceable with instances of their subtypes without altering the correctness of that program
- "If it looks like a duck, quacks like a duck, but runs on batteries, it's most likely not a duck."
- Interface Segregation Principle
- Many client-specific interfaces are better than one general-purpose interface
- Dependency Inversion Principle
- Depend upon Abstractions. Do not depend upon concretions.
- Don't
- Repeat
- Yourself
- Keep
- It
- Simple
- Stupid
[http://principlesofchaos.org/]
These are geared towards web development, with some language-spefic standards included.