Image for post
Image for post
Featured photo by Adrienne Andersen from Pexels.

The Object-Oriented Programming is a paradigm that instructs us, how to organize data and function into objects. Those objects are structures that should be designed to reflect the real-world object. Fortunately, we have four principles defined: abstraction, polymorphism, inheritance and encapsulation, that will lead us towards good code quality. Unfortunately, for years I understood them improperly, even if I was really convinced that I know them well. This article has to shorten your way to an understatement of OOP paradigm.

During this article, we will focus mostly on practice with a little theoretical background. Even if all code samples are included, you can clone GIT repository with sources and follow each change. At the end of the article, you can continue learning by doing kata. …


Image for post
Image for post
Photo by Dominik Scythe on Unsplash

Imagine designing a new part of the application for a business that is not well defined yet. …


Image for post
Image for post

Developers are lazy. While reviewing an API, I’ve seen a lot of cases, that the only response codes returned were 500 (aka “backend is not working”) and 400 (broadly known as “frontend messed up”). “Better” APIs were also returning 404 and authentication/authorization failure codes. Such an approach is fast to implement and covers most of the use cases. But have you ever wonder, what will happen if developers have the possibility and time to experiment? They will delve into it.

This article has to make you pay attention to the quality of messages returned by your API, with the biggest focus on status codes. Selecting them carefully will make your API more descriptive and easier to use, reducing feedback loop time needed for root cause analysis. …

About

Paweł Pluta

Java Developer at Vattenfall, passionate about Unit Testing, Software Craftsmanship, new technology trends and Smart Homes.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store