Anton Sizikov

Paying your technical debt.

AsyncSuffix ReSharper extension

on 2015-08-02

There is a tendency in a .NET world to build asynchronous CPU bounded or IO related API. We also can see that some APIs support both asynchronous and synchronous versions for the backward compatibility reasons. That puts us in a situation where we should be able to distinguish between async and non-async versions of method. Microsoft suggests us to follow the naming convention where every asynchronous method include Async suffix after the operation name.

#programming #resharper

Read more of AsyncSuffix ReSharper extension

Reactive Extensions. Api client with Cache-Aside & Refresh-Ahead strategy. Part 1.

on 2015-07-26

Hi, Today I want to talk about the development of the api client library. Let’s say it is an imaginary GitHub RESTfull Api that returns user’s rating. To make this routine more interesting we’ll add caching and mix it with Reactive Extensions. In fact the article is a summary of my Windows Phone development experience, and the approach in question was taken in a several applications with different modifications. Note: In this article I assume that the reader is familiar with the concept of Reactive Programming and Reactive Extensions.


Read more of Reactive Extensions. Api client with Cache-Aside & Refresh-Ahead strategy. Part 1.

Sharing ReSharper settings and Live Templates

on 2015-07-05

In my previous post I’ve described how to create your own Live Templates for ReSharper. Today I’m going to tell how to share your ReSharper settings and Live Templates with your team. All the plug-ins for ReSharper are regular NuGet packages. That means that we can pack and publish it to the official ReSharper NuGet feed or to your own company’s private feed (in case you want to keep it away from the rest of the world).

#resharper #programming

Read more of Sharing ReSharper settings and Live Templates

Custom live templates for ReSharper

on 2015-06-27

Hi! As a .NET developer I’m enjoying to use an intelligent plug-in for Visual Studio which is called ReSharper. It saves me time, provides me a static analysis and generates code for me. In fact code completion and code generation is a very crucial part of this product. By default ReSharper goes with more than 20 Live Templates. The good fact is that it’s easy to customize, and you can introduce your own templates.

#programming #resharper

Read more of Custom live templates for ReSharper

Keeping the repository interface clean

on 2015-06-22

The repository pattern is being blamed quite often. The most popular reason for that is an uncontrolled growth of the interface. In the simple scenario we have an interface like this one: public interface IClientRepository { Client Get(int id); IEnumerable<Client> GetAll(); } However models are never that simple and every client might have orders, addresses, contact details, and other nested properties. We don’t want to load our database with unnecessary joins and Entity Framework has a nice tool for that.


Read more of Keeping the repository interface clean

Hello World

on 2015-06-21

I’m not sure if I can be more hipster, but now I have a blog which is hosted by GitHub pages and served by jekyll. Yeah, I had to install python and ruby to run it. class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); } }