Object Oriented Design for Testability
Published January 13th, 2010 Under Coding, Software Testing | Leave a Comment
We design our code for performance, maintenance, simplicity, extensibility and other goals, but most of us do not think about testability as a design goal, yet verifying the correctness of our code is of great importance. What does it mean to have testable code, and what kind of trade offs does one have to think about when designing for testability. Turns out that testable code is well designed code, and it has many of the characteristics we search for such as low cohesion, separation of concerns, proper encapsulation and many others.
Power Use of Value Objects in Domain Driven Design
Published January 11th, 2010 Under Architecture, Coding | Leave a Comment
Dan Bergh Johnsson refreshes the listeners’ memory on using value objects showing by example how their good use can revolutionize a program’s architecture, simplifying it, making it more readable and testable, in a word, better.
http://www.infoq.com/presentations/Value-Objects-Dan-Bergh-Johnsson
UC Berkeley CS 61B Lecture 2 – Using Objects
Published January 29th, 2009 Under Architecture, Coding | Leave a Comment
Fundamental dynamic data structures, including linear lists, queues, trees, and other linked structures; arrays strings, and hash tables. Storage management. Elementary principles of software engineering. Abstract data types. Algorithms for sorting and searching. Introduction to the Java programming language.
The Clean Code Talks — Inheritance, Polymorphism, & Testing
Published December 9th, 2008 Under Architecture, Coding, Software Testing | Leave a Comment
Is your code full of if statements? Switch statements? Do you have the same switch statement in various places? When you make changes do you find yourself making the same change to the same if/switch in several places? Did you ever forget one? This talk will discuss approaches to using Object Oriented techniques to remove many of those conditionals. The result is cleaner, tighter, better designed code that’s easier to test, understand and maintain. Speaker: Misko Hevery.