Archive

Archive for June, 2010

Create mocks with mockito

June 25th, 2010
Adrian Elsener

This is a small summarization what the differences are between the different variations creating mocks with mockito.

Null values (default)

Per default, after creating a mock, every method will return null. Just create your mock with:

Sample sample = Mockito.mock(ISample.class);

I think, this is very useful and straight forward. (And based by mockito developers idea, to create very fast a mock for testing). Sometimes it is very difficult to determine an error which was produced through such a null value. For this case it is very practicable to tell mockito, returning SmartNullValues.

read more

 

Agile, Java, Test Driven Development, Testing , , , , ,

Speaking at LAS 2010 in Zurich (Lean Agile and Scrum Conference)

June 24th, 2010
Urs Enzler

I’m glad to announce that I’ll speak at the Lean Agile and Scrum Conference in Zurich on September 7th 2010 about Agile Architecture: From User Stories to Architecture (in german).

There will be great speakers present like Mary Poppendieck and Henrik Kniberg!

Join the conference at http://www.leanagilescrum.ch/veranstaltungen.

Looking forward to see you there…

 

Agile, Announcement, Architecture , , ,

Clean Code and Clean TDD Cheat Sheets

June 22nd, 2010
Urs Enzler

Find the updated version here: http://www.planetgeek.ch/2011/01/04/clean-code-and-clean-tdd-cheat-sheets/

Clean Code

(just an unreadable preview :-)    – click on link in text above)

 

Uncategorized

How to select open source libraries

June 20th, 2010
Daniel Marbach

We use a lot of open source libraries and components in our daily business. Open source libraries provide us a big advantage regarding time to market with our products. Every time when we are facing a problem in our software (problem is related to business domain to implementation domain difficulties) we first look into the open source world if someone has already solved that problem or even parts of it. Sourceforge, codeplex and google code (to name a few) are often the first pages we visit to look for code samples, libraries and frameworks. But how can we find the needle in the haystack?

read more

 

Agile, Methodology, Software , , , , , , ,

Code Quality! Building code you won’t curse tomorrow.

June 17th, 2010
Urs Enzler

These are the slides and comments of a presentation I held for bbv Software services AG.

The presentation is about how we get quality into our code.

Buzzwords: Fokus, frequent measurements, strong team, clean code, pair programming, test driven development, acceptance tests, continuous integration, collective code ownership, team learning.

image

Urs Enzler
Senior Software Architect
bbv Software Services AG

urs.enzler _at_ bbv.ch  (replace _at_ with @)
www.bbv.ch

Copyright © 2010 bbv Software Services AG

image

How to get quality into source code – that’s the question I’ll try to answer in this document.

You’ll see what we do at bbv Software Services to get code that is built with inherent quality and why it is important to think about quality throughout the whole development process.

read more

 

Agile, Presentation, Test Driven Development , , , , , , , , , , , , ,

Hierarchical State Machine with Fluent Definition Syntax (.NET)

June 9th, 2010
Urs Enzler

The .NET component library bbv.Common (open source – Apache License 2.0) provides a powerful hierarchical state machine.

Its features are:

  • value type based (enums, ints, …) resulting in single class state machines.
  • actions
    • on transitions
    • entry and exit actions (parametrizable)
  • transaction guards
  • hierarchical
    • different history behaviours to initialize state always to same state or last active state
  • fluent definition interface
  • synchronous/asynchronous state machine
    • passive state machine handles state transitions synchronuously
    • active state machine handles state transitions asynchronously on the worker thread of the state machine
  • configurable thorough logging simplifies debugging using log4net (can be replaced easily with custom logging)
  • state machine report for textual description of state machine

read more

 

.NET, Software , ,

bbv.Common moved to Google Code

June 8th, 2010
Urs Enzler

bbv.Common – a .NET library containing components for

  • (a)synchronous loosly coupled event notifications (event broker),
  • hierarchical state machines,
  • active objects and asynchronous workers to build robust multi-threaded applications,
  • context based loosely coupled rule engines
  • and much more

has move from sourceforge.net to Google Code.

Check out the project at http://code.google.com/p/bbvcommon/

Join the discussion at http://groups.google.com/group/bbvcommon

 

.NET ,