I have just completed reading Agile Principles, Patterns and Practices in C# by Robert C. Martin and Micah Martin. I learned a lot while reading this book, particularly about patterns. This book contains a lot of information with its’ 38 chapters and 700 pages, but it is written in a easy to read language and have plenty of figures and code examples. I think that everyone involved in software development will benefit from reading this book, particularly developers and solution architects.
Section 1 in this book focuses on agile development covering practices, Extreme programming, planning, testing, refactoring and a case study.
Section 2 is about agile design with principles and UML diagrams. Principles taught: The Single Responsibility Principle, The Open/Closed Principle, The Liskov Substitution Principle, The Dependency-Inversion Principle and the Interface Segregation Principle.
Section 3 is a case study where patterns are taught through a Payroll case. Patterns: Command, Template method, Strategy, Facade, Mediator, Singleton, Monostate and Null Object. This section also explains how create simple use cases from user stories, find underlying abstractions and implement the use cases.
Continue reading »
For a while ago I asked on twitter and on my blog what the Windows Mobile application of your dreams are (earlier post asking about what kind of application I should develop). I did this to find inspiration on what kind of application I should develop when I’m now starting a new pet project. It’s always interesting listening to what kind of applications other people would like to have on their mobile devices.
I got several good suggestions but in the end I decided to take the first Windows Mobile application I made and develop it from scratch again. This was an application using the GPS on your device to track your movement and calculate current speed, average speed, distance covered, timer +++ The application were meant to be used when running to help you track progress and see all detailed information you often wonder about when you are done exercising.
I want to share my work with you on this project so as I start working on it I will write posts with code examples on how I do it. When this project is done, I will distribute it for free to you to enjoy:)
Why have a pet project?
Continue reading »
It’s just two weeks until Norwegian Developers Conference (NDC) 2009 are held at Telenor Arena. I’m really looking forward to three days filled with sessions held by great speakers. The two first days have 7 parallel tracks to chose between and 6-7 sessions in each track. The last day have 6 parallel tracks and are called Norwegian Agile Day focusing on agile development and agile development methodology.
I have been looking at the agenda several times and it’s very hard to chose what sessions to attend due to the overall high quality and interesting topics. Below you can see my tentative list of sessions I will attend.
Day 1 (17th June)
- Keynote by Robert C. Martin
- Jump into Windows Presentation Foundation!… and become immediately effective (Tim Huckaby)
- Continue reading »
After participating in a project with focus on architecture, patterns and clean code I got a revelation: Clean code principles should be used in every software development project. I also started feeling that using clean code principles is not only a good tool but it’s a matter of taking pride in what you do. Who wants to deliver code that is unstructured and hard to read and understand?
During this project I also read a very good book about clean code: Clean Code – A Handbook of Agile Software Craftmanship, written by Robert C. Martin
This book starts with the basics; code formatting and using meaningful names, and continues with unit testing and concurrency.
The book is written with Java programming language in mind but the content can easily be adapted to other programming languages.
Continue reading »