Java with AI - Tip #2 - Generate tests before implementation
Use AI to generate tests before implementing functionality. This helps clarify requirements, define expected behavior and improve code quality when working with AI tools.
Recent content on Radu Ghiorghisor
Use AI to generate tests before implementing functionality. This helps clarify requirements, define expected behavior and improve code quality when working with AI tools.
AI can accelerate Java development, but by applying the Single Responsibility Principle we can unlock even more value, clarity, and testability in AI assisted workflows.
You’re running your Maven build, all your tests pass successfully, but suddenly the build fails with a cryptic error in the forked process. This article explores a frustrating edge case where mocked exceptions break the test reporting phase, causing builds to fail despite passing tests.
Inlining is one of the most aggressive and rewarding optimizations performed by the HotSpot JIT compiler. It replaces a method call with the actual body of the method called, eliminating dispatch overhead and enabling further optimizations. But not all method calls are inlined, and understanding why requires diving deep into how the compiler makes these decisions.
Why does InputStream.read() returns an int instead of a byte in Java? It’s a small detail that sometimes puzzles developers, especially those new to Java’s I/O API. In this article, we break down the reasoning behind this design choice and explain why it actually makes the Java API more robust and developer friendly.
Some online ads promise quick coding mastery and high-paying jobs, but beware: many are scams. Learn to spot them!
In software development, true leadership mixes both technical know-how with effective communication. Asking questions skillfully helps growth and team unity, beyond just getting answers.
or how making comparisons with Java it may actually hurt Kotlin.
In this article I am trying to touch on just a few pointers that I feel will help Java beginner programmers to smooth their code writing abilities and to become a proficient coder faster.
In this article, I am not trying to provide any technical tips for handling an old project. It aims to offer a few ideas to follow if you want to keep your sanity while being assigned a legacy project. We are going to take a look at what roughly makes up a legacy and try to find why it may not be as bad as it looks at the first glance.
As a software developer, there is a high possibility of finding yourself in a mentoring relationship. Whether it is a formal or informal one, mentorship might be overwhelming especially if it is the first one you are engaged in. In this article, I am trying to give some pointers on easily navigating this experience and getting as much as possible from it.
My name is Radu. I am a Computer scientist and hands-on software architect specialized in building things that (hopefully) help people and businesses grow, currently living in Bucharest, Romania. During my career I’ve been working with a wide range of technologies, while wearing many hats, position wise. Still, for some unexplicable reason I love working with legacy projects (code or…