Wednesday, 6 November 2013

Rebecca Wirfs-Brock Quotes

An object-oriented application is a set of interacting objects.

And objects don't work in isolation, they collaborate with others in a community to perform the overall responsibilities of the application.

Frameworks are skeletal structures of programs that must be fleshed out to build a complete application. For example, a windowing system or a simulation system can both be viewed as frameworks fleshed out by a windowed application or a simulation,

Frameworks are white boxes to those that make use of them. Application developers must be able to quickly understand the structure of a framework, and how to write code that will fit into the framework. Frameworks are reusable designs as well as reusable code.

A subsystem is a set of classes (and possibly other subsystems) collaborating to fulfill a set of responsibilities. Although subsystems do not exist as the software executes, they are useful conceptual entities.

Ivor Jacobson Quotes

When a user uses the system, she or he will perform a behaviorally related sequence of transactions in a dialogue with the system. We call such a special sequence a use case.


Kent Beck Quotes

The business changes. The technology changes. The team changes. The team members change. The problem isn't change, per se, because change is going to happen; the problem, rather, is the inability to cope with change when it comes.

The key is to test the areas that you are most worried about going wrong. That way you get the most benefit for your testing effort. It is better to write and run incomplete tests than not to run complete tests.

Often you'll see the same three or four data items together in lots of places: fields in a couple of classes, parameters in many method signatures. Bunches of data that hang around together really ought to be made into their own object.

Refactoring (noun) : a change made to the internal structure of software to make it easier to understand and cheaper to modify without changing the observable behavior of the software.

Any fool can write code that a computer can understand. Good programmers write code that humans can understand.

When you find you have to add a feature to a program, and the program's code is not structured in a convenient way to add the feature, first refactor the program to make it easy to add the feature, then add the feature.

I'm not a great programmer; I'm just a good programmer with great habits

I always knew that one day Smalltalk would replace Java. I just didn't know it would be called Ruby.