About dotnetdays

About .NET Days conference

dotnetdays.ro is a .Net and Microsoft related conference in Iasi, Romania.

The goal is to provide a platform where developers can exchange knowledge and experiences about .Net and connected technologies. This .Net conference is about meeting people, learning and growing a craftmanship culture

dotnetdays is a Non-profit Community Conference.

All the speakers and staff engage on a voluntary basis because they want to support and grow .NET Community.

dotnetdays.ro conference is organised this year with the support of Fortech

We have all used code analysis tools on our projects and these are useful for identifying code smells. The issue is that most of them treat metrics in isolation and isolated metrics can’t tell you if the design is good or bad. You need more context.

In this session we’ll see how to go beyond code smells and identify design smells and inappropriate coupling in the technical architecture. We’ll define detection strategies for common design smells (like God Class and Feature Envy) and implement them using NDepend. We’ll also see how we can define fitness functions to detect dependency violations in your application’s architecture.

The async and await keywords introduced in C# 5.0 (7+ years ago) are probably the most powerful feature of the language when it comes to writing scalable applications. Yet in spite of the fact that async has now trickled down in many other languages (like ES6), it’s still not obvious to the untrained eye what its purpose is in C# and what benefits it brings.

If you know someone that is still “creating new threads with await” then this talk is for you.

We’re going to go chronologically backwards from ES6 to C# to see if async and await make more sense this way.

From the early days of ASP and WebForms through MVC and Razor, web development ultimately meant also writing Javascript.

Still in preview, Blazor uses the Mono library compiled to webassembly which can be run in the browser, allowing you to write .net code that is then executed by the browser, giving us access to the DOM and all browser APIs.

While I would still use react or Angular for my web needs, let’s discover what Blazor brings to the table, why is it cool, how it can be used and what alternatives exist.