InfoQ Homepage Code Quality Content on InfoQ
-
Reaching Production Faster with Containers in Testing
David Xia explains how Helios testing framework drives integration tests and spins up self-contained environments during test runs, increasing Spotify’s code quality and successful deployments.
-
Safe Systems Programming in C# and .NET
Joe Duffy shares some of his key experiences from building an entire operating system in a C# dialect and dealing with errors and concurrency robustly, focusing on open source C# and .NET.
-
Code Quality in Practice
Bryan Helmkamp discusses insights from analyzing over 1T LoC daily, what makes a code metric valuable, when unmaintainable code may be preferable, and what prevents maintaining quality code over time.
-
An Introduction to Property Based Testing
Aaron Bedra focuses on describing a system as a series of models that can be used to systematically and automatically generate input data and ensure that a code is behaving as expected.
-
Why Building the Right Thing Means Building the Thing Right
Liz Keogh takes a look at why experimentation underpins everything done in technology, and why it is necessary to be able to move and change the right thing.
-
Kill the Mutants - A Better Way to Test Your Tests
Roy van Rijn explains what mutation testing is and how it works, comparing several Java frameworks (PIT, Jester, Jumble) that enable automatic mutation testing in a continuous build.
-
Introduction to Java Profiling
Jerry Yoakum discusses how code profiling tools and techniques can be used to evaluate code for constructions and errors that are likely to cause problems, highlight places in need of refactoring.
-
Making the Case for Review
Austin Bingham answers questions on reviews: how long should they be, what should be reviewed, how do reviews account for an increase in quality and ROI?
-
Microservices: Software that Fits in Your Head
Dan North describes a model for thinking about the age of code and argues for replaceability as a first class concern, ending up with something that looks a lot like microservices.
-
Beautiful Structure
Chris Chedgey explores how “locality of relationship” affects coupling, cohesion, and the width of interfaces, showing structural patterns that increase or decrease complexity.
-
Opportunities to Improve System Reliability and Resilience
Donald Belcham explains how to improve a system’s reliability by using appropriate code patterns.
-
Naming Things
Ian Barber discusses the importance of behavior, domains and clarity of the names used when writing software or building systems.