This Month in Agile: Code Quality
This Month in Agile: Code Quality
If you want to be a great programmer, learning what code quality means, and how to adhere to its precepts, is important. But, what does code quality actually mean?
Join the DZone community and get the full member experience.Join For Free
Engineers build business. See why software teams at Atlassian, PayPal, TripAdvisor, Adobe, and more use GitPrime to be more data-driven. Request a demo today.
Last month, we took a look at a bunch of different topics. This month, I'd like to hone in on one: code quality. But, code quality is one of those things that means something a little different to everybody you talk to. So, I've slaved over my keyboard to gather the opinions of some experts on the subject of quality code. Enjoy!
Quality Code Leads to Code Quality
- What Does Code Quality Actually Mean? - Is there any way to define what quality code actually looks like? Or is it like trying to say what quality literature is. Your college professor might say James Joyce, you might say Ian Fleming, and your little nephew might say Captain Underpants. Well, when it comes to coding, this article argues, there are certain qualitative metrics you can use, such as readability and business meaning, to get at a definition of code quality.
- How to Be an Advocate for Software Quality - Did you know that the word 'advocate' comes from the French word for lawyer, advocat? Well, now you do! Read on to get one QA professional's opinion on some reasons, other than professional pride, to be a lawyer for code quality.
- Code Smells: Too Many Problems - OMG, it's Trisha Gee! This industry thought leader shares her opinions on how to deal with code that has so many problems you just want to wrap it up in a plastic bag and put it in the trash outside. The biggest piece of advice here is to tackle one smell at a time to incrementally increase the quality of the code.
- What Your Code Looks Like [Comic] - From kitten to weird looking clone, to something out of Dante's nightmares, your code goes through some strange permutations as it makes it way through the software development lifecycle.
- 10x Developers Are Good at These 3 Things, and You Can Be Too - In order to develop code of the highest quality, you need to be able to ask three essential questions: what problem needs to be solved?; why does this problem need to be solved?; and what steps do I need to take to solve this problem?
Best From the Rest
- Why Code Quality Is Crucial to a Company's Success by Erik Ammerlaan. This article explains how code quality creates better-looking products, that provide the user with a higher quality service.
- Code Quality Guide by the OpenFOAM Foundation Team. A quick guide for developers-on-the-go to produce code that has both functional and structural code quality.
Codacy: An Easy-to-Use Code Quality Review Solution by Silvain LeRoy. This developer compares to well-known code quality reviewers and tries to determine which one is better.
Get Agile With DZone Publications
Continous Integration Refcard: Patterns and Anti-Patters by David Posin and Paul Duvall - Reap the full benefits of quality, better testing, and early error detection with proper CI implementation. This newly updated Refcard explains patterns and anti-patterns and the benefits of CI. Using specific examples from the Git Command Line Interface and Git Plugin hooks for Jenkins, it also walks through build management, build configuration, testing, and code quality.
DZone's Guide to Automated Testing: Improving Application Speed and Quality - Automated testing has many exciting benefits, like decreasing time to market, improving software quality, and incentivizing developers to build applications that will pass tests the first time around. The 2017 Guide to Automated Testing covers what code can or should be automated and tutorials to get you started. Learn more about mobile testing in Kotlin, go beyond what Selenium provides for web application testing, and take a deep dive into trends such as Behavioral-Driven Development and Visual Regression. Featuring articles by Jim Holmes, Carlo Cadet, Maciej Gryka, Mirco Hering, Niklas Wuensche, Tamas Cser, Slaven Slugic, Soumyajit Basu, and Tom Smith.
Find Your Next Great Gig
5+ years professional experience in software development and building successful production software systems. Experience in building large scalable and distributed systems, working with Python web frameworks and building RESTful systems, and working with unit test modules and integration testing with other modules to deliver quality code.
Architect/implement/recommend new software component designs or enhancements to existing software products, and lead in the implementation of these platform components. Quality and high standards really matter to us, so this role will focus on continually applying high coding standards. The ideal candidate must have excellent attention to detail and a methodological work process. You must also demonstrate proper coding techniques including maintainability, reuse, clean code, unit testing and driving standards within the team.
Opinions expressed by DZone contributors are their own.