logo

Quotes About Development

Architecture should reveal operation. The architecture of the system should elevate the use cases, the features, and the required behaviors of the system to first-class entities that are visible landmarks for the developers. This simplifies the understanding of the system and, therefore, greatly aids in development and maintenance.
~ Robert C. Martin
Part of the art of developing a software architecture is carefully separating those policies from one another, and regrouping them based on the ways that they change.
~ Robert C. Martin
software has two types of value: the value of its behavior and the value of its structure.
~ Robert C. Martin
THE ACYCLIC DEPENDENCIES PRINCIPLE Allow no cycles in the component dependency graph.
~ Robert C. Martin
MacBook is at least 1022 more powerful than those early computers that I started using half a century ago
~ Robert C. Martin
O objetivo da arquitetura de software é minimizar os recursos humanos necessários para construir e manter um determinado sistema.
~ Robert C. Martin
I used to think 2000 lines was a big program. After all, it was a full box of cards that weighed 10 pounds. Now, however, a program isn't really big until it exceeds 100,000 lines.
~ Robert C. Martin
THE STABLE DEPENDENCIES PRINCIPLE Depend in the direction of stability.
~ Robert C. Martin
Duplication may be the root of all evil in software.
~ Robert C. Martin
a good architecture must support: • The use cases and operation of the system. • The maintenance of the system. • The development of the system. • The deployment of the system.
~ Robert C. Martin
Think about how you can preserve the use-case emphasis of your architecture. Develop a strategy that prevents the framework from taking over that architecture.
~ Robert C. Martin
Test code is just as important as production code. It is not a second-class citizen. It requires thought, design, and care. It must be kept as clean as production code.
~ Robert C. Martin
Frameworks are tools to be used, not architectures to be conformed to. If your architecture is based on frameworks, then it cannot be based on your use cases.
~ Robert C. Martin
When the stakeholders change their minds about a feature, that change should be simple and easy to make. The difficulty in making such a change should be proportional only to the scope of the change, and not to the shape of the change.
~ Robert C. Martin
Master programmers think of systems as stories to be told rather than programs to be written.
~ Robert C. Martin
The Three Laws of TDD You are not allowed to write any production code until you have first written a failing unit test. You are not allowed to write more of a unit test than is sufficient to fail—and not compiling is failing. You are not allowed to write more production code that is sufficient to pass the currently failing unit test.
~ Robert C. Martin
The dilemma for software developers is that business managers are not equipped to evaluate the importance of architecture. That's what software developers were hired to do. Therefore it is the responsibility of the software development team to assert the importance of architecture over the urgency of features.
~ Robert C. Martin
Software architects are, by virtue of their job description, more focused on the structure of the system than on its features and functions. Architects create an architecture that allows those features and functions to be easily developed, easily modified, and easily extended.
~ Robert C. Martin
Paradigms are ways of programming, relatively unrelated to languages. A paradigm tells you which programming structures to use, and when to use them. To date, there have been three such paradigms. For reasons we shall discuss later, there are unlikely to be any others.
~ Robert C. Martin
Databases should usually not be considered as a major factor of the design and implementation.
~ Robert C. Martin
During this design process, we rarely considered whether we were performing analysis, design, or implementation
~ Robert C. Martin
Object-oriented programming imposes discipline on indirect transfer of control.
~ Robert C. Martin
Functional programming imposes discipline upon assignment.
~ Robert C. Martin
Don't comment bad code—rewrite it." —Brian W. Kernighan and P. J. Plaugher1
~ Robert C. Martin