Throughout my experience with C# coding, I’ve never been particularly fond of the ‘!
‘ (bang) operator. This is mainly because it can easily go unnoticed when reviewing code, as demonstrated in this example from the EntityFramework source code:
if (!(context.ParameterValues[baseParameterName] is
IEnumerable<TEntity> baseListParameter))
{
return null;
}
Instead, I have consistently opted for using ‘= false
.’ However, since the introduction of C# 9, the ‘not
‘ operator can now be employed instead, as illustrated below:
if (context.ParameterValues[baseParameterName] is not
IEnumerable<TEntity> baseListParameter)
{
return null;
}
Do you not find that using pattern matching enhances readability?
This is related to violation IDE0083 and this is how I have it setup in my .editorConfig: dotnet_diagnostic.IDE0083.severity = warning
Summary
While reviewing the Entity Framework codebase I utilized for this article, I discovered 5 occurrences where the code needs to be fixed.
For further guidance and insights, I highly recommend obtaining a copy of my book, “Rock Your Code: Coding Standards for Microsoft .NET” available on Amazon.com. Additionally, to explore more performance tips for .NET, I encourage you to acquire the 3rd edition of “Rock Your Code: Code & App Performance for Microsoft .NET” also available on Amazon.com.
To analyze your code using the same settings I used in these articles, I encourage you to incorporate my EditorConfig file. It can be found at the following link: https://bit.ly/dotNetDaveEditorConfig. I update this file quarterly, so remember to keep yours up to date as well. I hope you will check out my OSS project Spargine by using this link: https://bit.ly/Spargine.
Please feel free to leave a comment below. I would appreciate hearing your thoughts and feedback.
Pick up any books by David McCarter by going to Amazon.com: http://bit.ly/RockYourCodeBooks
Make a one-time donation
Make a monthly donation
Make a yearly donation
Choose an amount
Or enter a custom amount
Your contribution is appreciated.
Your contribution is appreciated.
Your contribution is appreciated.
DonateDonate monthlyDonate yearlyIf you liked this article, please buy David a cup of Coffee by going here: https://www.buymeacoffee.com/dotnetdave
© The information in this article is copywritten and cannot be preproduced in any way without express permission from David McCarter.