Handle Cyclical References with ASP.NET Web API 2 and MVC 6

dot-net-logo

Many ORM (object-relational mapping) tools, such as Entity Framework 6 Tools for Visual Studio 2012 & 2013, Entity Framework Power Tools, or Entity Framework Reverse POCO Generator, generate entity classes that contain cyclical references. Download the source code, samples, and NuGet packages for this blog post:             AspNet WebApi 2 Helpers (Asp.Net 4 / vCurrent) ...

Read More »

Pairing Patterns

software-development-2-logo

Pair programming is hard. When most developers start pairing it feels unnatural. After a lifetime of coding alone, headphones on, no human contact; suddenly talking about every damned line of code can seem weird. Counter-productive, even. And yet… effective pairing is the cheapest way to improve code quality. Despite what superficially seems like a halving in productivity – after all, your ...

Read More »

Deploying: Git vs. TFS Showdown

git-logo

I think everyone agrees deployment should be as simple as possible. Seems like everyone talks about continuous integration/deployment/delivery. More and more people (and cloud providers) start using the source control mgmt system as their deployment solution. Especially Git seems to be quite suitable for that, i.e. you push to a dedicated “deploy” branch which is being automatically fetched, build and ...

Read More »

Incremental/iterative development: Breaking down work

software-development-2-logo

Over the past couple of years I’ve worked on several different applications and one thing they had in common was that they had a huge feature which would take a few months to complete and initially seemed difficult to break down. Since we favoured an incremental/iterative approach to building these features and wanted to add value in short feedback cycles ...

Read More »

Tie Your Shoes and Pull Up Your Pants

software-development-2-logo

What slows down the development of software? Think about this question for a bit. Why is it that as most software evolves it gets harder and harder to add features and improve its structure? Why is it that tasks that would have at one point been simple are now difficult and complex? Why is it that teams that should be ...

Read More »

How to dynamically modify model meta data in ASP.NET MVC

asp-dot-net-logo

Normally you just add the [Required] attribute to a view model to make it required. But I needed a way to configure whether a field to be required or not. The requirement was that it should be configured through web.config:                       <appSettings> <add key='ticket-cat1-required' value='true' /> </appSettings> Having to modify ...

Read More »

Avoiding Procrastination Through Pairing

software-development-2-logo

Have you ever been working through a problem only to hit a roadblock that leaves you stuck, not knowing what to do next? What did you do next? Chances are, if you are like most programmers, you took a moment to check your Facebook, your email or perhaps your RSS feed. If you sat down and really thought about what ...

Read More »

Output Caching in ASP.NET MVC

asp-dot-net-logo

Although nowadays most of us have broadband connections, resource caching is important as loading a resource from your local HD is (by now) still faster than fetching it remotely. In this post I’d like to explore how to control the ASP.net MVC caching behavior and its effects when using ajax requests for retrieving data. Default ASP.net MVC Caching Behavior If ...

Read More »

10 Software Documentation Best Practices

software-development-2-logo

Perform documentation as required (e.g. %10 of total production time). No documentation is never a good solution as much as excessive documentation. It may include code documentation, requirement specifications, design documents, test documents, user manuals etc. Those documents are needed to be managed and shared also, by using version controlling tools and/or web based platforms. Code documentation is important. Best ...

Read More »