When Method Is Better Than Property?

That’s a well known question. Actually, I knew the difference between methods and properties long ago. Despite of that, recently I stumbled upon my own incorrect choice between those semantic constructions. That’s why I decided to write this post – in order to solidify the understanding of the difference between property and method. Method vs Property fail in BCL The most notorious fail of [...]

By |2019-01-11T11:17:18+03:00February 27th, 2016|.NET, Best Practices, C#, CodeProject, Design|0 Comments

Hidden Dependencies as a Smell

Mark Seemann has written a nice post  “Service Locator violates encapsulation”. The name of the post speaks for itself that it’s about a pattern (anti-pattern) named Service Locator. When a programmer arbitrarily inside the code base calls for the IoC-container to resolve a dependency of an object – he uses a Service Locator anti-pattern. Mark provides the following example: [code language=”csharp”] public class OrderProcessor : [...]

By |2017-09-13T08:48:13+03:00October 27th, 2015|.NET, Best Practices, CodeProject, Design, Refactoring|4 Comments

Handling Errors and Exceptions. Part 2 – Discussion.

The previous blog post received many comments, and this approves that the problem of handling errors\exceptions is palpitating. I thought I’m going to address practical points of errors\exceptions handling in the second part. But I feel I need to address comments of readers firstly. […]

By |2019-01-11T11:17:52+03:00October 2nd, 2015|Best Practices, C#, CodeProject, Design|2 Comments

Handling Exceptions and Errors. Part 1 – Intro.

In this article we will discuss exception handling best practices. There is a lack of meaningful information about exception handling on the Internet, so let’s go. Have you ever seen that recommendation to avoid exception handling like this: [code language=”csharp”] try { //do something } catch(Exception ex) { } [/code] Well, indeed, I agree that this exception handler looks pretty bad. But is it [...]

By |2016-07-27T17:38:53+03:00September 21st, 2015|.NET, Best Practices, C#, CodeProject, Design|3 Comments

Null-Checking Semantics Obscurity

This topic is going to be simple, yet an interesting one. I’ll try to expose here my feelings about a certain case of null-checking. It’s a well-known fact that introducing null-values considered by its inventor, Tony Hoare, as a billion-dollar mistake. Despite of some “modern” practices like making classes immutable, applying Null-Object pattern or using Code Contracts extensively, we still often want to declare [...]

By |2019-01-11T11:18:25+03:00August 8th, 2015|Best Practices, C#, CodeProject, Design, Refactoring, .NET|0 Comments

Refactoring: Extract a Method, When It’s Meaningful

Big Functions Hell Well, now it’s hard to remember the moment, when I first time realized that it’s actually a good idea to extract functions from the massive chunks of useful code. Either I got this knowledge from the “Complete Code” or “Clean Code” – it’s hard to recall. Actually, it does not matter so much. We all know that we should split the [...]

By |2016-08-17T13:54:50+03:00July 20th, 2015|.NET, Best Practices, C#, CodeProject, Design, Refactoring|0 Comments
Go to Top