July, 2008

GridView or Repeater?

What is the difference between GridView and Repeater? This is one of the most common questions that beginners ask when they are trying to get familiar with data bound controls. Both of these controls have their own using context and I try to explain when one should use GridView and when it is okay to use Repeater.

How to become a good developer?

I was asked through this blog how to become a good developers. I think this is the question that many beginners want to ask. For every question there are throusands of answers. Okay, there are many answers like these but these ones are mine. 🙂

Too-Smart-Business-Object Anti-Pattern

Building up a good business library is art. Because every bad decision made early will eat project’s time later. Bad decisions will also waste many time of developers who have to use this library in their work. One of the most common mistakes made is mixing DAL functionality to business objects. At first it may seems like a good idea – why not have a smart objects? – but as project goes this solution causes more and more problems. And, be warned, each next problem is worst than previous.

Avoiding exceptions using list controls

Avoiding excpetions is always a good practice because exceptions can hurt as when thay occure. They may cause also hard performance loss. Assigning selected value to list controls is one candidate for ArgumentOutOfRange exceptions.

DTO – not only for web services

Usually developers think that DTO (Data Transfer Object) is something related to web services where data serialization is required to move data from one point of network to another. It is clear that in most cases there is no point to move complex data structures over network when client side needs this data in pretty […]

Sometimes integration tests are more important

There are some cases when integration tests are more protective than unit tests. Of course, there is no reason to compare these two kinds of tests but if we have to write them we have to set priorities and think what problems may arise during development. One special case when it is important to have integration tests early in place is when we are using O/R-mappers.

Some extension methods for DateTime

During one of my current projects I wrote some useful extension methods for DateTime class. I had to write custom calendar component and therefore I needed manipulate dates a little bit. Here is some extensions I would like to share with you. And, of course, comments and suggestions are welcome as always.

Silver bullet anti-pattern

I will continue my little serie about anti-patterns of decisions and activities that may screw up projects and make developers (and why not also others) life hell. Now let’s look at silver bullet anti-pattern. It is about using unknown tools and technologies in the place where one shouldn’t never do that.

Domain Driven Design

I am sure you have all read this book and this book needs no further introduction – Domain Driven Design by Eric Evans! I readed this book couple of months ago and now I am trying to apply good ideas I got from this book. Instead of writing usual introduction I tell you a little bit about my experiences when applying ideas represented in this book.

How I use Hungarian notation?

Well, this post is not my attempt to start millionth flae war about variable naming conventions. It is my explanation how I use Hungarian notation and why. By the way I am not dedicated fan of any convention, so starting flaming here has no point. So let’s see why and how I use Hungarian notation.

var is like (good) wine

Keyword var is cool thing we can use to make our code more readable for other programmers and why not – reviewers. But var can also be used to make our code difficult to understand. In this case, lte’s say, we are overusing var. So, var is like wine – if one takes glass of it then everything is okay in the morning, but if somebody takes it couple of bottles then the morning will be awful. Or let’s say – too much var will kill you?

I-Don’t-Care Anti-Pattern

It is easy to find articles and blog entries about patterns, design and good practices. But there are not so much information about anti-patterns. One of the worst anti-patterns is what I call I-Don’t-Care Anti-Pattern.

Response.Redirect and Response.End

I discovered once myself automatically writing some redirects on ASP.NET pages and I started thinking about API behind these redirects and code readability. Here is what I came out with.

Database Error When Installing BDC Definition Editor

To make your life easier when creating BDC application definitions you can use BDC Definition Editor that comes with SharePoint Server SDK. You have to install it separately after installing SDK. Installer is located in SDK installation directory.

70-542 – Done!

Couple of days ago I had 70-542 Microsoft Office SharePoint Server 2007 – Application Development exam. It wasn’t one of easiest exams I have ever had but now it is done and I am certified SharePoint developer. 🙂