Aug 5, 2019
This week’s guest is Steve Smith! Steve is an entrepreneur and software developer with a passion for building quality software as effectively as possible. He is the founder of Ardalis Services and Tech Hub Hudson, as well as a Board Member on the Stir Trek Conference, Inc. Steve Smith has also been recognized by Microsoft as a Most Valuable Professional (MVP) since 2002. He is also a Pluralsight author with several online courses on various topics; mentors motivated developers on DevBetter.com; blogs on his website, Ardalis.com; and shares tips on his weekly podcast, Weekly Dev Tips!
Today, Steve and Jeffrey Palermo will be discussing DevOps quality. Steve explains why the quality aspect in DevOps is so important, quality techniques developers should be thinking about, what the SOLID principles are and why they matter, the types of automated testing that people should be doing on their code, and his favorite tools and frameworks. Steve also gives his thoughts on test coverage, his favorite methods for figuring out if a section in his application doesn’t have enough code coverage, what he thinks about static analysis, refactoring, and the pattern “replace conditional with polymorphism.”
Tune in for all of Steve’s insights on the topic of DevOps quality, his practical rules of thumb, and invaluable recommendations on books and resources to follow-up on!
Topics of Discussion:
[:40] Be sure to visit AzureDevOps.Show for past episodes and show notes!
[:46] Where to get a hold of Jeffrey’s new book, .NET DevOps for Azure.
[1:42] About today’s episode and guest.
[2:11] Jeffrey welcomes Steve to the show!
[3:32] How did Steve discover that he wanted to work as a developer for his career?
[4:32] Why is the quality aspect in DevOps so important?
[5:49] What are the quality techniques developers should be thinking about?
[7:35] What are SOLID principles? And why are they important?
[9:30] What are the types of automated testing that people need to be doing on their code?
[12:07] What tools and frameworks are Steve’s favorite?
[13:55] Steve’s favorite method for figuring out if a section of his application doesn’t have enough code coverage.
[14:51] How Steve thinks about test coverage.
[17:31] How does Steve cover the instances where a certain section of code may be 100% covered but then another section of code is close to 0?
[19:00] A word from Azure DevOps Podcast sponsor: Clear Measure.
[19:27] How Steve thinks about the concept of static analysis.
[24:03] Do shorter or longer methods have any correlation with better psychosomatic complexity?
[24:24] When does Steve recommend to refactor?
[25:16] Steve gives his thoughts on when an extract method is warranted and highlights some big “code smells.”
[26:30] Steve explains the pattern “replace conditional with polymorphism.”
[31:10] What static analysis classes does Steve use regularly? And does he run them with every continuous integration build (or does he have a separate process)?
[33:20] Steve gives some practical rules of thumb!
[34:28] Steve gives his recommendations on valuable books and resources listeners should follow-up on to learn more.
[35:32] What’s next for Steve?
Mentioned in this Episode:
Clear Measure (Sponsor)
.NET DevOps for Azure, by Jeffrey Palermo
bit.ly/dotnetdevopsbookforcommunity — Visit to get your
hands on two free books to give away at conferences or events!
Steve Smith (LinkedIn)
Weekly Dev Tips Podcast,
with Steve Smith
Ardalis.com (Steve’s Blog)
‘SOLID Principles for C# Developers’ Course by Steve Smith on Pluralsight
‘Refactoring Fundamentals’ Course by Steve Smith on Pluralsight
Clean Code: A Handbook of Agile Software Craftsmanship, by Robert C. Martin
Code Complete: A Practical Handbook of Software Construction, by Steve McConnell
Architect Modern Web Applications with ASP.NET Core and Microsoft Azure, by Steve Smith
Want to Learn More?
Visit AzureDevOps.Show for show notes and additional episodes.