
devleader
DevLeader
7Following633Followers4573Likes
Principal Software Engineering Manager at MSFT https://linktr.ee/devleader
Videos
Liked
Why do we need the break keyword in CSharp switch statements? Well, technically you don't NEED it, but more often than not you probably want it. The break keyword in a switch statement prevents continued execution of other cases once the condition is met. If you don't want the other case bodies to run... Then you want a break. You might even want a return! Check out the full video here: https://buff.ly/3RaL1mA ---- 🔔 Follow for more software engineering and dotnet topics! 📨 Sign up for my email newsletter by visiting my site (link in profile) 🎬 Check out Dev Leader on YouTube for multiple full-length videos weekly! 🗣️ Share with your network! #csharp #dotnet #dotnetcore #csharpdevelopers
Design patterns are very valuable so let's discuss...
MediatR! This helpful package makes implementing the mediator design pattern a breeze.
The mediator design pattern allows parts of our system to communicate without being coupled. Instead, they communicate through the mediator itself.
Let's see how we can leverage MediatR in this step by step example. Link to my channel in my bio.
----
🔔 Follow for more software engineering and dotnet topics!
📨 Sign up for my email newsletter by visiting my site (link in profile)
🎬 Check out Dev Leader on YouTube for multiple full-length videos weekly!
🗣️ Share with your network!
#designpatterns #csharp #dotnet #mediatr #dotnetdeveloper #csharpprogramming #csharpdotnet #csharpdeveloper
MediatR! This helpful package makes implementing the mediator design pattern a breeze.
The mediator design pattern allows parts of our system to communicate without being coupled. Instead, they communicate through the mediator itself.
Let's see how we can leverage MediatR in this step by step example. Link to my channel in my bio.
----
🔔 Follow for more software engineering and dotnet topics!
📨 Sign up for my email newsletter by visiting my site (link in profile)
🎬 Check out Dev Leader on YouTube for multiple full-length videos weekly!
🗣️ Share with your network!
#designpatterns #csharp #dotnet #mediatr #dotnetdeveloper #csharpprogramming #csharpdotnet #csharpdeveloper
What the heck is a bitwise AND operator? And... Why?! When we're dealing with enums in CSharp that are setup as flags, using the bitwise AND operator can be tremendously helpful. The AND operator will give us back a 1 in all positions where two values have 1's turned on. That means if we want to test if a bit is on for a flag enum, we can use the AND operator to see if it's set! Check out the full video here: https://buff.ly/40VfBFc ---- 🔔 Follow for more software engineering and dotnet topics! 📨 Sign up for my email newsletter by visiting my site (link in profile) 🎬 Check out Dev Leader on YouTube for multiple full-length videos weekly! 🗣️ Share with your network! #csharp #dotnet #enums #binary #learntocode
What's the expected behavior for this code? If an enum is sort of like a string because it has a name, but also sort of like a number because it has a numeric value... What do we expect? If you're new to enums, sometimes their behavior can be a little bit confusing. I have you covered in this full video tutorial though! Check out the full video here: https://buff.ly/3MONodg ---- 🔔 Follow for more software engineering and dotnet topics! 📨 Sign up for my email newsletter by visiting my site (link in profile) 🎬 Check out Dev Leader on YouTube for multiple full-length videos weekly! 🗣️ Share with your network! #csharp #dotnet #dotnetcore #beginner #tutorial
So, why did you skip out on those Blazor unit tests?
Did you skip the tests because unit testing a user interface is tricky? Or perhaps you were told that there's no value or it's not something developers do? Surprise! You can use bUnit to test your Blazor UI without having to spin up something to click through your app.
Read the article:
https://www.devleader.ca/2023/10/26/blazor-unit-testing-with-bunit-how-to-get-started-for-beginners/
----
🔔 Follow for more software engineering and dotnet topics!
📨 Sign up for my email newsletter by visiting my site (link in profile)
🎬 Check out Dev Leader on YouTube for multiple full-length videos weekly!
🗣️ Share with your network!
#blazor #aspnet #dotnet #testing
Did you skip the tests because unit testing a user interface is tricky? Or perhaps you were told that there's no value or it's not something developers do? Surprise! You can use bUnit to test your Blazor UI without having to spin up something to click through your app.
Read the article:
https://www.devleader.ca/2023/10/26/blazor-unit-testing-with-bunit-how-to-get-started-for-beginners/
----
🔔 Follow for more software engineering and dotnet topics!
📨 Sign up for my email newsletter by visiting my site (link in profile)
🎬 Check out Dev Leader on YouTube for multiple full-length videos weekly!
🗣️ Share with your network!
#blazor #aspnet #dotnet #testing
How do we test if bits are on in flag enums in CSharp? Many folks don't use enums in CSharp as flags, but we're absolutely able to mix and match different enum values when we're using flags. Once we combine several values though... How are we supposed to check if a flag is on or off though? This video has the answer! Check out the full video here: https://buff.ly/40VfBFc ---- 🔔 Follow for more software engineering and dotnet topics! 📨 Sign up for my email newsletter by visiting my site (link in profile) 🎬 Check out Dev Leader on YouTube for multiple full-length videos weekly! 🗣️ Share with your network! #csharp #dotnet #enums #beginners #learntocode
There are different ways to implement the same design patterns. A simple example is with the Observer Pattern! If we have observers and observables, we can create the pattern so that: - The observer registers to the observable - The observable tracks all ofthe different observers - OR... we could introduce a dedicated class to manage the subscriptions. What other ways can we approach it? Check out the full video here: https://buff.ly/3QT4MPa ---- 🔔 Follow for more software engineering and dotnet topics! 📨 Sign up for my email newsletter by visiting my site (link in profile) 🎬 Check out Dev Leader on YouTube for multiple full-length videos weekly! 🗣️ Share with your network! #csharp #dotnet #designpatterns #coding
One of the biggest luxuries to building projects as a hobby or learning experience... Time. Unlimited time. There's essentially no deadline for your your side projects if you're just doing them to learn. While I think that building side projects is the absolute best way to learn (this is my opinion and I realize it doesn't hold true for every individual), people can miss out on the fact that this differs from the real world. In a hobby project, you can refactor and spend all the time in the world trying to perfect it. In the "real world", you can't. You eventually need to accept that things are "good enough" and keep moving. This doesn't mean ignore tech debt. It does mean that you have legitimate time constraints and you need to start considering them when you're prioritizing. Check out the full video here: https://buff.ly/462ePr2 ---- 🔔 Follow for more software engineering and dotnet topics! 📨 Sign up for my email newsletter by visiting my site (link in profile) 🎬 Check out Dev Leader on YouTube for multiple full-length videos weekly! 🗣️ Share with your network! #softwareengineer #softwaredeveloper #developer #softwaredevelopment
Those ninja fixes and boy scout changes might not be having the positive effect you want.
Although "boy scout" changes can help to make a dent in helpful tech debt paydown and refactoring, I don't always think it's the best way to go about it.
On paper, it seems like a great way to chip away at refactoring needs.
In practice, I've seen this:
- Delay features
- Introduce bugs
- Derail entire teams
I think the spirit of continuously trying to improve the codebase as you go by refactoring is great. However, with too many people not understanding the potential risks of their changes, you get into problem territory.
Check the full video here:
https://youtu.be/25AW78BXwTM
----
🔔 Follow for more software engineering and dotnet topics!
📨 Sign up for my email newsletter by visiting my site (link in profile)
🎬 Check out Dev Leader on YouTube for multiple full-length videos weekly!
🗣️ Share with your network!
#techdebt #technicaldebt #refactoring #refactor #coding #programmer
Although "boy scout" changes can help to make a dent in helpful tech debt paydown and refactoring, I don't always think it's the best way to go about it.
On paper, it seems like a great way to chip away at refactoring needs.
In practice, I've seen this:
- Delay features
- Introduce bugs
- Derail entire teams
I think the spirit of continuously trying to improve the codebase as you go by refactoring is great. However, with too many people not understanding the potential risks of their changes, you get into problem territory.
Check the full video here:
https://youtu.be/25AW78BXwTM
----
🔔 Follow for more software engineering and dotnet topics!
📨 Sign up for my email newsletter by visiting my site (link in profile)
🎬 Check out Dev Leader on YouTube for multiple full-length videos weekly!
🗣️ Share with your network!
#techdebt #technicaldebt #refactoring #refactor #coding #programmer
There's only one type of test that's better than the rest. And that's going to be the test that helps provide you with the most confidence in your changes. Everyone online has different opinions about the best way to test. Unit tests. Functional tests. TDD. Don't write tests at all! Yes - Even that last group has a voice here! If you've written quick prototypes then often tests don't make a lot of sense! The point here is you need to be pragmatic. Understand when and why different approaches work... and where they fall down. Check out the full video here: https://buff.ly/3MLTP0S ---- 🔔 Follow for more software engineering and dotnet topics! 📨 Sign up for my email newsletter by visiting my site (link in profile) 🎬 Check out Dev Leader on YouTube for multiple full-length videos weekly! 🗣️ Share with your network! #softwareengineer #softwaredeveloper #developer #softwaretesting
What do squats in the gym and writing tests have in common? Not a whole lot, really. Except that people on the Internet can't agree on the best way to do them. There's too many people with really strong opinions. These things are tools that we can use. These tools have variations. Find the variation of the tool that fits your need. End of story. Check out the full video here: https://buff.ly/3MLTP0S ---- 🔔 Follow for more software engineering and dotnet topics! 📨 Sign up for my email newsletter by visiting my site (link in profile) 🎬 Check out Dev Leader on YouTube for multiple full-length videos weekly! 🗣️ Share with your network! #softwareengineer #softwaredeveloper #developer #softwaretesting
I've posted a couple of ways to implement the observer pattern, but this one is pretty rad 👀
Leveraging the System.Reactive (RX) package, we get the guts of the observer pattern right out of the box!
I'm a fan of this approach as it cleans up the code for us compared to the previous implementations. Check it out:
https://www.youtube.com/watch?v=nj9yuqH44zw
----
🔔 Follow for more software engineering and dotnet topics!
📨 Sign up for my email newsletter by visiting my site (link in profile)
🎬 Check out Dev Leader on YouTube for multiple full-length videos weekly!
🗣️ Share with your network!
#designpatterns #csharp #dotnet #coding #codinglife #learntocode
Leveraging the System.Reactive (RX) package, we get the guts of the observer pattern right out of the box!
I'm a fan of this approach as it cleans up the code for us compared to the previous implementations. Check it out:
https://www.youtube.com/watch?v=nj9yuqH44zw
----
🔔 Follow for more software engineering and dotnet topics!
📨 Sign up for my email newsletter by visiting my site (link in profile)
🎬 Check out Dev Leader on YouTube for multiple full-length videos weekly!
🗣️ Share with your network!
#designpatterns #csharp #dotnet #coding #codinglife #learntocode
Do you use flag enums in CSharp? Many folks don't use enums in CSharp as flags, but we're absolutely able to mix and match different enum values when we're using flags. Traditionally, we use enums to list out different mutually exclusive states. However, when we leverage them as flags we can combine these different states together. Check out the full video here: https://buff.ly/40VfBFc ---- 🔔 Follow for more software engineering and dotnet topics! 📨 Sign up for my email newsletter by visiting my site (link in profile) 🎬 Check out Dev Leader on YouTube for multiple full-length videos weekly! 🗣️ Share with your network! #csharp #dotnet #enums #beginners #learntocode
When's the last time that you used binary in CSharp? Even in my digital forensics software days, I was rarely relying on binary representation of anything in CSharp... However, if you're using enums as flags then you should get familiar with binary! Each flag represents a bit being turned on, so it's important to understand how they get combined and how to test for bits. Check out the full video here: https://buff.ly/40VfBFc ---- 🔔 Follow for more software engineering and dotnet topics! 📨 Sign up for my email newsletter by visiting my site (link in profile) 🎬 Check out Dev Leader on YouTube for multiple full-length videos weekly! 🗣️ Share with your network! #csharp #dotnet #enums #binary #learntocode
How do enum values work in CSharp? We have several different ways we can configure our enums in CSharp: - Implicit values assigned for us - Explicitly assign each value in the enum - Use a hybrid approach just to set the initial Which one of these is right? All of them! It just depends on your use case. Check out the full video here: https://buff.ly/3MONodg ---- 🔔 Follow for more software engineering and dotnet topics! 📨 Sign up for my email newsletter by visiting my site (link in profile) 🎬 Check out Dev Leader on YouTube for multiple full-length videos weekly! 🗣️ Share with your network! #csharp #dotnet #dotnetcore #beginner #tutorial