Code Reviews Are Awesome, Here Are 7 Reasons Why

Code reviews are a great practice to apply in software development. The approach is very simple: when you’re done with your code, give it to someone else to look at and leave comments.

Despite of its simplicity, it brings considerable advantages. Here are 7 reasons why this practice is useful.

Continue reading “Code Reviews Are Awesome, Here Are 7 Reasons Why”

Little Geo Stories: Square Miles

How I sensed a bug while not seeing any, and what came of it.

Dear reader,

Today I found a place on our website where we display the size of a recreational area in square kilometers.

199 km²

I cannot fully explain what happened next, but I had a hunch something must be wrong with this feature.

Narrator: there was.

Continue reading “Little Geo Stories: Square Miles”

Little Geo Stories: A Tale Of 180th Meridian

A little story about a very common mistake when working with Earth coordinates around 180th meridiane.

Several days ago, I got a bug request: no airports around a certain hotel were being displayed.

There certainly were some airports relatively close to the hotel, and judging by all conditions they should have been there. This hotel’s page could boast with very good air connections, but it did not.

Like a proper seasoned Geo-expert should do in this case, first thing I did – was checking the location of the hotel.

Of course, it was located on Fiji.

The problem immediately became absolutely clear to me.

Continue reading “Little Geo Stories: A Tale Of 180th Meridian”

Modularization and dependency management: three steps to better code

If you ask me, what’s a single most important thing in writing good code, I’d reply: “Modularization and Dependency Management”.

Well, actually, that’s two things. Sorry about that! But they are two sides of the same coin, and you can’t have one without the other, if you want to your code to be nice and clean.

Continue reading “Modularization and dependency management: three steps to better code”

Prioritization for Perfectionists, or: How I Learned to Stop Worrying and Love the Non-Perfection

Are you a perfectionist? That kind of a person that can never say “I’m done”, “it’s ready” or “let’s ship it”? The one who can’t release the new feature unless it’s polished and perfect?

Continue reading “Prioritization for Perfectionists, or: How I Learned to Stop Worrying and Love the Non-Perfection”

Someone Asked Me To Send Them My Source Code

Some time ago I started a pet project: a small Android app for placing the words cutely.

I first published it in October, and yesterday it reached 50,000 installs. I still can’t believe this number! In the beginning I wasn’t getting any downloads, and now!.. I’m very happy with how it goes.

But today, something happened. Someone emailed me and asked me to send them the source code. They wanted it so badly, they emailed me several times, and even called me on Hangouts. It seemed urgent! They needed this code! Now! This instant!

But, wait… why would someone need someone else’s source code?

I asked that person and found out: they wanted to present it as their graduate work in the university.

Continue reading “Someone Asked Me To Send Them My Source Code”

Design your code for readability

So, how do you usually code?

You have a task: add this thing to that place. First thing you do – you find where “that place” is and how to get “this thing”. To do it, you read the code.
Reading happens every time you need to do something, doesn’t it? If something doesn’t work, or you need to optimize it, or add one more tiny thing, you search for the place in the code and read it again. And again.