What is subtype polymorphism?
What is a Version (or Revision) Control System?
What is the Interface Segregation Principle?
What is an abstract class?
What is the Law of Demeter?
What is maintainability?
What are Class-Responsibility-Collaborator (CRC) cards?
What is cohesion?
What is scalability?
What is the DRY Principle (Don't Repeat Yourself)?
What is agile software development?
What is the Command-Query Separation Principle?
What is readability?
What is the Single Responsibility Principle?
What is robustness?
What is estimation?
What is overloading?
What are static and final?
What is dynamic method invocation?
What is level of abstraction?
What is the Liskov Substitution Principle?
What is refactoring?
What are preconditions and postconditions?
What is extensibility?
What is self-documenting code?
Software should perform correctly and efficiently when problems grow in size by several orders of magnitude.
These conditions document what should be true before and after executing a method.
A contrast to the Waterfall Model, this kind of software development process involves brief iterations through the entire software development cycle
Many client-specific interfaces are better than one general-purpose interface.
These cards are used to design classes and their relationships.
Code and design should be easy for another programmer to understand.
All code within a method should be at a similar __________.
Software entities, including code and data, should not be duplicated.
The process of revising code to make it more elegant without changing its functionality.
A class should have only one reason to change.
Software should deal with unusual situations gracefully and avoid crashing.
Software defects can be found and fixed without introducing new defects.
This property allows objects of different classes to share a common type.
This quality means that few internal comments are needed to understand method code.
A method that does just one thing (and does it well) has this quality.
This principle states that a method should either change object state or return a value, but not both.
Git is an example of this general category of tools.
Both of these Java keywords should be used when defining a constant.
It is acceptable to make B a subclass of A only if, for every public method with identical signatures in both A and B, the preconditions for A are no stronger than the preconditions for B and the postconditions for A are no weaker than the postconditions for B.
This term describes when a class has two methods with the same name but different parameters.
Planning Poker is a game for accomplishing this software development task.
New features can be added without breaking existing features.
This process means that the Java runtime environment, when asked to invoke a method on an object. looks at the actual class of the object to find the method implementation to execute.
Like an interface, this kind of class cannot be instantiated.
You can pick your friends, and you can pick your nose, but you can’t pick your friend’s nose.