InfoQ Homepage Code Quality Content on InfoQ
-
How to Create a UI That's Both Robust and User Friendly
The key challenge in building UIs is balancing ease of use and maintainability, with scale and complexity. It requires thoughtful component design and an understanding of common usage paths to create a UI that's both robust and user-friendly. Automation can be a game-changer when it comes to improving efficiency and consistency in your codebase.
-
Programming Foundations for Test Automation
Proper programming foundations can improve your test automation, making it easier to maintain testing code, and reduce stress. A foundation of the theory and basic principles of coding and programming can help to bring test automation to the next level. Object-oriented programming principles can help to overcome code smells.
-
Test Automation Requires a Strategy and Clean Code
Having a good strategy for test automation can make it easier to implement test automation and reduce test maintenance costs. The test automation pyramid and automation test wheel can be of help when formulating a test automation strategy and plan. Test automation code should be clean code, and treated similarly to production code.
-
Using the Technical Debt Metaphor to Communicate Code Quality
With technical debt, we end up paying a gradually rising cost. The technical debt metaphor was intended as a way to help us talk and think about the invisibility of decisions and qualities in code. Kevlin Henney gave a keynote about Six Impossible Things at QCon London 2022 and at QCon Plus May 10-20, 2022. His sixth impossibility was technical debt is quantifiable as financial debt.
-
The Challenges of Reading Code and How to Deal with Them
Reading code can be confusing in many ways; we are not explicitly taught how to read code, and we rarely practice code reading. Being aware of the cognitive processes that play a role can help to become better at reading code.
-
How Mob Programming Collective Habits Can be the Soil for Growing Technical Quality
Mob programming can support teams in changing old habits into new effective habits for creating products in an agile way. Collectively-developed habits are hard to forget when you have other people around. Mob programming forces individuals to put new habits into practice regularly, making them easier to adopt. Teams are intolerant of repetition, looking for better ways of doing their work.
-
AWS Announces General Availability of Amazon CodeGuru
Recently, AWS announced the general availability of Amazon CodeGuru, a developer tool powered by machine learning. It provides intelligent recommendations for improving code quality and identifying an application's most expensive lines of code.
-
GitHub Super Linter Helps Developers Ensure No Broken Code Is Ever Merged
GitHub Super Linter aims to automate the process of setting up your GitHub repositories so they will use the appropriate linter for your language whenever a pull request is created.
-
Organizational Topologies and Their Impact on Quality
August Lilleaas recently wrote about the correlation between organization complexity and software quality citing a paper by Microsoft. Rapid Software Testing Methodology creator James Bach has also recently written about how we should interpret quality metrics. The authors of Team Topologies shared insights into how adapting organizational structure can improve the health of software.
-
Experiences from Mob Programming at an Insurance Startup
What do you do when two developers in your team mention that they have been stuck on a task for three days? At an insurance startup, the whole team decided to try-out mob programming. From the first day they started to mob, their knowledge of the codebase increased. Working together also helped them to get to know each other better and to be more efficient as a team.
-
Underplayed Premises of TDD: Q&A with GeePaw Hill
TDD is more than a technique; it’s a whole style of programming, an integrated system of related behaviors and ideas. The five premises of TDD provide a ring in which we operate, they are the air that a TDD’er breathes.
-
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.