logo

Quotes About Software

The rules of software are the same today as they were in 1946, when Alan Turing wrote the very first code that would execute in an electronic computer.
~ Robert C. Martin
This is the world of the software development team. It's a world in which dates are frozen and requirements are continuously changing. And somehow in that context, the development team must drive the project to a good outcome.
~ Robert C. Martin
Duplication and expressiveness take me a very long way into what I consider clean code, and improving dirty code with just these two things in mind can make a huge difference. There is, however, one other thing that I'm aware of doing, which is a bit harder to explain.
~ Robert C. Martin
The architecture of a system is defined by a set of software components and the boundaries that separate them.
~ Robert C. Martin
To write clean code, you must first write dirty code and then clean it.
~ Robert C. Martin
The fact that the task to write perfect software is virtually impossible does not mean you aren't responsible for the imperfection.
~ Robert C. Martin
Implementation Patterns.
~ Robert C. Martin
We in this industry sorely need to increase our professionalism. We fail too often. We ship too much crap. We accept too many defects. We make terrible trade-offs. Too often, we behave like unruly teenagers with a new credit card. Martin, Robert C.. Clean Agile (Robert C. Martin Series) . Pearson Education. Kindle Edition.
~ Robert C. Martin
Am I suggesting 100% test coverage? No, I'm not suggesting it. I'm demanding it. Every single line of code that you write should be tested. Period.
~ Robert C. Martin
Software is a compound word. The word "ware" means "product." The word "soft" means easy to change. Therefore, software is a product that is easy to change. Software was invented because we wanted a way to quickly and easily change the behavior of our machines. Had we wanted that behavior to be hard to change, we would have called it hardware.
~ Robert C. Martin
In fact, component dependency diagrams have very little do to with describing the function of the application. Instead, they are a map to the buildability and maintainability of the application.
~ Robert C. Martin
You should be able to run all the unit tests with just one command.
~ Robert C. Martin
If a component contains software that should be reused, it should not also contain software that is not designed for reuse. Either all the classes in a component are reusable, or none of them are.
~ Robert C. Martin
The tests fit the production code like an antibody fits an antigen.
~ Robert C. Martin
CRP says that classes that are not tightly bound to each other with class relationships should not be in the same component.
~ Robert C. Martin
the fact that oo languages provide safe and convenient polymorphism means that any source code dependency, no matter where it is, can be inverted
~ Robert C. Martin
It is the perversity of software that a module that you have designed to be easy to change can be made difficult to change by someone else simply hanging a dependency upon it.
~ Robert C. Martin
refactored)    /**
~ Robert C. Martin
THE STABLE ABSTRACTIONS PRINCIPLE A component should be as abstract as it is stable.
~ Robert C. Martin
Duplication may be the root of all evil in software. Many principles and practices have been created for the purpose of controlling or eliminating it.
~ Robert C. Martin
OCP: The Open-Closed Principle Bertrand Meyer made this principle famous in the 1980s. The gist is that for software systems to be easy to change, they must be designed to allow the behavior of those systems to be changed by adding new code, rather than changing existing code.
~ Robert C. Martin
The SOLID principles tell us how to arrange our functions and data structures into classes, and how those classes should be interconnected. The use of the word "class" does not imply that these principles are applicable only to object-oriented software. A class is simply a coupled grouping of functions and data. Every software system has such groupings, whether they are called classes or not. The SOLID principles apply to those groupings.
~ Robert C. Martin
Components are the units of deployment. They are the smallest entities that can be deployed as part of a system.
~ Robert C. Martin
The goal of the principles is the creation of mid-level software structures that: • Tolerate change, • Are easy to understand, and • Are the basis of components that can be used in many software systems.
~ Robert C. Martin