BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Code Quality Content on InfoQ

  • Code Reviews in Practice

    Code reviews are a great way to find bugs, get input from other team members, and share knowledge and ownership. For maximum benefit, integrate code reviews into your development process to ensure that no code reaches production without being reviewed. Reviews tend to uncover unresolved issues in the development process which you may need to address.

  • Readable Code - Why, How and When You Should Write It

    Most people would say they want readable code, and may even prefer readability over functionality. But when it comes down to asking people to define readability, opinions will start to diverge. At Explore DDD 2018 , Laura Savino covered why we want readable code, what it really means to be readable, and when readability absolutely must take priority over other considerations.

  • Sustainable Software with Agile

    Sustainable software enables you to deliver changes to the customer more quickly with a lower likelihood of bugs, decrease of the total cost of ownership of applications, and increase business agility. It’s possible to verify the sustainability of software using a combination of automated analysis of source code, expert review of technical artifacts, and comparison with benchmark data.

  • Tackling Technical Debt at Meetup

    Continuous product health can be realized by regularly prioritizing the highest impact technical debt items and knocking those off systemically. You need to continuously iterate how you're tackling technical debt to drive more and more impactful results. Going for maximum impact items first and communicating the impact of paying down technical debt is what Yvette Pasqua, CTO of Meetup, recommends.

  • A Crystal Ball to Prioritise Technical Debt in Monoliths or Microservices: Adam Tornhill's Thoughts

    At QCon London, Adam Tornhill presented “A Crystal Ball to Prioritise Technical Debt”, and claimed that although the technical debt metaphor has taken the software world with storm, most organizations find it hard to prioritise and repay their technical debt. Key takeaways from the talk included methods to identify ‘hotspots’ of code complexity and churn.

  • Dead Code Must Be Removed

    Dead code needs to be found and removed; leaving dead code in is an obstacle to programmer understanding and action, and there's the risk that the code is awakened which can cause significant problems. Deleting dead code is not a technical problem; it is a problem of mindset and culture.

  • The Future of QA at Atlassian

    Mark Hrynczak, Cloud QA Manager for Atlassian, gave a talk on this year’s company summit in which he shared his vision of how a high valuable QA team should perform. High value for a QA team is defined as being, in the first place, totally aligned with the company strategic goals ,thus contributing to solve the most important problems that an organization might face at a specific moment.

  • Refactoring and Code Smells – A Journey Toward Cleaner Code

    Refactoring helps to move towards cleaner code that is easier to understand and maintain. It takes practice and experience to recognise code smells: symptoms of bad design which indicate deeper problems in the code. Tools can be helpful to refactor in small steps and prevent breaking the code.

  • Continuous Deployment at Coolblue

    Continuous deployment results in a higher sense of responsibility and better quality of deployments, argues Paul de Raaij, technical pathfinder at Coolblue. Coding standards prevent your code base from becoming a mess, automated inspections are great for tedious and boring checks, and manual checks are great for checking if the logic or use of code actually makes sense.

  • Using Models in Developing Software for Self-Driving Cars

    Models play an important role in developing software for autonomous systems like self-driving cars; they are used to simulate and verify behavior, document the system, and generate code. Jonathan Sprinkle explains how to model software used in autonomous systems, the benefits of modeling, using test data to validate the software that drives a car and techniques for writing reliable code.

  • Checked C - A Safer C/C++ from Microsoft

    Microsoft has open sourced Checked C, a research project meant to add bounds checking to C and C++.

  • How to Effectively Debug Software

    InfoQ interviewed Diomidis Spinellis, author of the books Code Reading and Code Quality, about finding and fixing errors in software, principles for debugging software and how to improve the effectiveness of debugging, how to write code that requires less debugging, and what managers can do to support error prevention and handling.

  • What Programmers Can Do to Write Better Code

    To write better code, programmers have to apply design fundamentals and read existing code, says Martin Thompson, a Java Champion and high-performance-computing specialist. InfoQ interviewed him after his Engineering You talk at QCon London 2016 about the challenges that the software industry is facing and what programmers can do to deal with those challenges and become better software engineers.

  • Understanding Large Codebases with Software Evolution

    InfoQ interviewed Adam Tornhill, author of Your Code as a Crime Scene, about software evolution and mining social information from code and how to use this to increase the understanding of large codebases, how to create a geographical profile of code, and the benefits that can be gained from techniques like mining social information and geographical profiling.

  • Measure and Improve Code Quality

    InfoQ interviewed Boris Modylevsky about the importance of measuring code quality and how measurements can be used to improve quality, integrating static code analysis in continuous integration, testing coverage and test automation, and the benefits that continuous integration with integrated code analysis and test coverage can bring.

BT