Categories
Projects and Code

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
Clean Code

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
Clean Code

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
Clean Code

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
Clean Code

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
Pondering

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 […]