Categories
Uncategorized

Forget HTTP, use Websockets

For most applications you’re going to build, HTTP communication is a no-brainer. However, as a system grows, a real-time communication between client and server becomes a requirement and the developers apply a websocket-based solution. But websockets not only provide push notification from server to client, they also create a handful of opportunities to follow good […]

Categories
Uncategorized

Remove dependency refactoring

Recently I have worked on removing a compile time dependency between two domains. What I have stumbled upon turned out to be a simple yet comprehensive example of a common problem that I believe many of us encounter every day. Below you can find what was the problem setting, why it important to get rid […]

Categories
Uncategorized

It’s 2020, why do we type code?

According to Wikipedia, the Fortran was launched in 1957 and is considered the first commercially available programming language. A github search shows 6,743 repositories as of October, 2020. If you want, you can easily find out that code written in Fortran, as it consists of widely-used keywords, is still intelligible. It does mean, that the […]

Categories
Uncategorized

Reactive web crawling system [1] Introduction

Disclaimer: This is the first post of a series which will introduce an evolving, public github project of a crawling system. The reactive web crawling system gives every person an opportunity to, after creating an account, hold a dashboard of web crawler queries and results. A user can scrap data from any website – check […]

Categories
Uncategorized

How many arguments can a function have?

If you have been working as a software developer, you are probably aware that following Uncle Bob’s advises regarding number of arguments a function should take is difficult and requires some experience. Clean Code states among others that: The ideal number of arguments for a function iszero (niladic). Next comes one (monadic), followedclosely by two […]

Categories
Uncategorized

A checkbox must be read only once!

Boolean flags are bad. I would agree that a sheer ration between booleans and other data types can be quite a valid measurement of code quality. To support these statement I’d like you to read just two quotes: Flag arguments are ugly. Passing a boolean into a function is a truly terrible practice. It immediately […]

Categories
Uncategorized

Never expose boolean

Imagine a startup creating a management system for a company that operates in a single country. Sooner or later, there comes a feature to distinguish contractors between home country and foreign ones. You may imagine a developer introducing a small private class with a boolean property IsForeign, so the class that represents a contractor looks […]

Categories
Uncategorized

Are you sure you write object-oriented code?

Most of us take for granted that object-oriented paradigm is not only mature, but the “good” way of developing applications. Despite the fame of functional programming which, as time goes by, becomes a real power, most of software is created in the object-oriented way. Or at least we believe so. But following the principles is […]

Categories
Uncategorized

Hello world!

We all, as developers, make assumptions, learn, discuss things and make mistakes. Once we gain some experience, we share our knowledge and experience with others. Since it’s incredibly hard to describe ideas, come up with examples and provide tutorials for the same things over and over again, I made a blog to have a single […]