Enum Alternatives in C#

Enum Alternatives in C#

Some time ago I wrote about Moving Beyond Enums and published an article on ASPAlliance by the same title. Unfortunately the latter article was largely screenshot-based, and those images seem to have disappeared, so I thought I’d revisit the topic here. Enums are simple value-type flags that provide very minimal protection from invalid values and […]

Logging and Using Services in Startup in ASPNET Core Apps

Logging and Using Services in Startup in ASPNET Core Apps

When you set up an ASP.NET Core app, most of the time you begin with the Startup.cs file, which provides essentially three places where you can add code: Constructor ConfigureServices Configure Naturally, the constructor fires first. Then, ConfigureServices is run, and finally the Configure method. You can learn more about this process in my Application […]

The Minimal ASPNET Core App

The Minimal ASPNET Core App

Now updated for ASP.NET Core 1.1 here. There’s no upper limit on how large an ASP.NET Core app can get, but what about how small you can make it? With the new .NET Core framework, the answer is pretty small. Let’s see just how small. First, make sure you have the dotnet CLI tools installed. […]

How to Change Drawing Scale in Visio Professional

How to Change Drawing Scale in Visio Professional

This is much harder than it should be to find, especially when most of the help online is wrong and refers to previous versions. For instance, there is no Page Setup menu under the File menu in recent versions of Visio. I have Visio Professional 2016 – if you’re not sure, go to Start -> Add […]

Check In Often

Check In Often

This is post 1 of 2 in the series “Developer Tips” Check in your code. Often. It doesn’t matter if you’re using Team Foundation Server, Git, Subversion, or another form of source control, you should be sure to check in your code frequently. Right now, do you have code that you’re working on (or were […]

Flexible Deployments Using TeamCity

Flexible Deployments Using TeamCity

I’m a big fan of JetBrains TeamCity for continuous integration (CI). It has a great web-based user interface, is extremely easy to set up and get running, and is also very flexible. What’s more, it’s free for up to 20 different build configurations, with multiple build agents (so your builds run in parallel). It’s an […]

Static Code Analysis and Quality Metrics

Static Code Analysis and Quality Metrics

This is post 1 of 1 in the series “Measuring and Managing Software Quality” Assessing the quality of software can be a difficult, often subjective process. Having some heuristics and metrics that measure an application’s source code provides a useful starting point, and observing these metrics over time can identify important trends. Is the application’s […]