dotNetDave Rocks dev.Objective() 2016

For the first time the dotNetDave Rock The Nation Tour will hit the dev.Objective() conference in Minneapolis, MN on June 14-17, 2016. If you live in the area, I hope to see you there. I will be doing the session below.

Röck Yoür Cöde With Defensive Programming

This session brings writing better code to the next level. Do you enjoy receiving bug tickets from QA? Didn’t think you would, so this session will provide solid practices that I have been using for most of my programming career to check-in to source only rock solid code. You will learn my #1 mantra, along with 13+ rules, that I use while writing code that allows me to write new code (features) and stay out of maintenance mode hell. This is part two in my series titled “Improving Code Quality… One Developer At A Time”. Note: Even though code examples in this session are in .NET, the concepts can be applied to any language.

Please take my Coding Standards Survey before attending this session (you could win a free copy of my Rock Your Code DVD).

You can purchase a DVD for this session (sponsored by ComponentOne) for only $15 (credit cards accepted) or purchase online by clicking here.

Check out the Coding Standards For The Real World webcast I did for SubMain.com.

More Info

Shop the "Rock The World Tour" store by clicking here. 
Anyone seen wearing a t-shirt from the store will win 
some geeky swag!

All slides and videos can be found here: http://www.slideshare.net/dotNetDave and on YouTube.

Coding Standards Survey (2016): How Can Code Quality Be Made Better?

This is the last question I ask in the survey. I know in my experience the answer is always getting buy in from management. While I hope that most developers care about code quality, management cares about feature, feature, feature. Here are what others are saying.

  • The ability of not using stupid variable names within functions.
  • Self-documenting code, which I haven’t seen where I have worked.
  • Total team buy-in of standards simple standards.
  • Better standards, better training, team meetings/training on coding standards.
  • Follow a standard of practice for clean code and good unit testing and integration testing case scenarios.
  • Smarter code analyzers and auto corrections, easier way to create your own code standard rules.
  • Consistent code reviews and pair programming.
  • Code isn’t looked at by another party enough. Even when it is, egos are huge in the development community. People think that “attacks” on their code might as well be attacks on their skills or person. Got to let that go.
  • Some of the old school programmers think they code perfect.
  • Regular peer reviews, training, company sponsored round tables.
  • Follow consistent design patterns where they are appropriate. Frequent peer reviews (e.g. on every change request).
  • Ensure you have a team of developers who care about their craft and who care about the product they are developing. There is an intangible yet distinct difference between a developer punching the clock, yet adhering to team coding standards; and a developer who truly cares about the work he/she is doing, and funnels that care and concern into creating the best solution he/she can.
  • To reflect upon the code that you are writing and ask “could this line/method/class be clearer/more efficient?” – continually. The SOLID principles – and all the other standards that exist – should be a tool in the mind of the reflective coder to help him or her judge what he or she has just written. These standards should not become yet another ideology – to be followed blindly to excess.
  • Learn, learn and learn more, never stop learning. Keep evolving. Practice by refactoring your own code.
  • Engage developers and develop culture of quality.
  • Teaching kids from the start when they are learning in school, that standards and comments are critical and if you can’t follow acceptable standards, don’t apply. I see students naming their variables so stupid, and they should get a grade based not only if the code works, but in general… Standards are practiced.

Note: I do grade my students on coding standards.

  • More time.
  • Industry wide standards

To see more results, go to the first post in this series.

Coding Standards Survey (2016): Taking Over Someone’s Code

Have you ever taking over someone’s code? Did you enjoy this experience? When I ask this question in my conference sessions, I usually see 90% of hands go up. I also see many pained looks and hear groans. The next question I ask is what is the first thing you want to do after taking over someone else’s code and the usually the answer is… rewrite it!

I would venture to guess that most companies would not allow this to be done since it takes away from writing new features. The first time I had to take over someone else’s code I didn’t ask my boss, I just did it during some down time after the first release of our product.

This is why it’s very important to always implement and follow great coding standards. My book is the first step in that direction.

CS-Someones Code

To see more results, go to the first post in this series.

Coding Standards Survey (2016): Coding Standards Importance

I would hope that all developers feel coding standards are important, but so far only 80% feel this way. Until this reaches 100%, I will keep releasing new editions of my book and giving my Rock Your .NET Coding Standards conference session.

It’s also very important for teams to foster coding standards education to its developers.

To see more results, go to the first post in this series.

Coding Standards Survey (2016): Visual Studio Analyze Rule Set

For those teams using Visual Studio Analyze/ FXCop as you can see below the majority use their own rules set, since you can configure them in the project properties. Hopefully these teams are storing these rule sets in a common area to be used by all of the team members.

I recommend to start off with Microsoft All Rules for the application layer (Windows apps, ASP.NET sites) and Microsoft Managed Recommended Rules for reusable assemblies (DLL’s).

CS-Analyze

To see more results, go to the first post in this series.

Coding Standards Survey (2016): Productivity Tools

To boost developer productivity, it’s very important for any team to provide good quality applications to help make following coding standards easier. This will also lead to better code quality and happier users.

The refactoring tool ReSharper from JetBrains is leading the pack. While ReSharper is the number one .NET code refactoring tool, it’s not a full-fledged code analysis tool like Visual Studio Analyze or CodeIt.Right. So if you are using ReSharper or CodeRush from DevExpress, it’s also very important to use a analysis tool in addition to a refactoring tool.

CS-Tools

What worries me the most about these results is that over 28% of companies do not provide any tools at all. This blows my mind. At most of the companies I have worked for they do not provide any tools. Since I do have these tools regardless of what the company provides, I’m usually the only developer in the team properly refactoring code, analyzing code etc.

To give an example on how much money a company can save, Submain.com has a ROI calculator on their site to show how much purchasing CodeIt.Right for the team can end up saving the company. If your team has five developers averaging $80K in salary and if they perform five reviews per week averaging one hour in length, using CodeIt.Right could save the company $48K annually.

If your team uses the auto-correction feature of CodeIt.Right it could save the company an additional $48K annually! You can plug-in your own team’s values by going to: http://submain.com/ROIcalculator.aspx. Take the results to your boss and hopefully they will purchase this tool right away. If they don’t, find a new place to work!

Of course this one tool would save the company much more money by providing higher quality code to the end user.

To see more results, go to the first post in this series.

Coding Standards Survey (2016): Coding Standards Documentation

It’s very important to document your team coding standards and as you can see below, custom company standards are the most used. Of course I wish my book was number one, but I hope that company’s use it as the basis for their standards. No matter what the standards are, make sure they are easily accessible by developers either in print or online.

Developers, make sure you follow the standards and do not deviate from it unless you get them officially changed. What’s good for the company is good for you!

CS-Documentation

To see more results, go to the first post in this series.

dotNetDave Rocks The Twin Cities .NET User Group

For the first time the dotNetDave Rock The Nation Tour will hit the Twin Cities .NET User Group in Minneapolis, MN on June 15, 2016. If you live in the area, I hope to see you there. I will be doing the session below.

Röck Yoür Cöde With Defensive Programming

This session brings writing better code to the next level. Do you enjoy receiving bug tickets from QA? Didn’t think you would, so this session will provide solid practices that I have been using for most of my programming career to check-in to source only rock solid code. You will learn my #1 mantra, along with 13+ rules, that I use while writing code that allows me to write new code (features) and stay out of maintenance mode hell. This is part two in my series titled “Improving Code Quality… One Developer At A Time”. Note: Even though code examples in this session are in .NET, the concepts can be applied to any language.

Please take my Coding Standards Survey before attending this session (you could win a free copy of my Rock Your Code DVD).

You can purchase a DVD for this session (sponsored by ComponentOne) for only $15 (credit cards accepted) or purchase online by clicking here.

Check out the Coding Standards For The Real World webcast I did for SubMain.com.

More Info

Shop the "Rock The World Tour" store by clicking here. 
Anyone seen wearing a t-shirt from the store will win 
some geeky swag!

All slides and videos can be found here: http://www.slideshare.net/dotNetDave and on YouTube.