Here is a check list of steps which should be done in pre-release stage of any С++ project. Do it before it is too big!

Image for post
Image for post

STEP 0: Before start coding, set up the process!

Imagine you have a team of 2–3 C++ developers, and you are starting a new project from the scratch in a week or two. The first thing you need to do is to establish a process of code delivery and code writing rules. Remember — no rules is also a rule, it will be much harder (read expensive) to get a team used to new rules in the middle of the project, and without rules…


Image for post
Image for post

Almost half of C++ Linux projects I’ve been working with always had some kind of logging implemented, but it never had any set of rules or practices discussed before starting the project regarding when logs should be added, what should be message format, how many log levels is needed for this exact project, where logs should be stored, how it will be rotated/accessed, etc. As a result nobody paid attention to adding meaningful/accurate logs, and nobody could rely on getting useful insights on “why your server crashed last night” from logs.

Why logging is important? Because sooner or later you…


I have just watched great talk of John Ousterhout on the topic of Software Design and I would like to share here few thoughts I really like and totaly agree with from that talk.

Image for post
Image for post
Photo by Austin Distel on Unsplash

A few overall concepts

Classes should be deep

  • Classes should be deep: with a very simple interface and with a very large amount of functionality underneath it.
  • Don’t focus on the length of the methods, focus on abstraction. Number of lines is not so important as the depth of the class. Length isn’t the big issue as long as code is clean. …


Image for post
Image for post
  1. Linux/Unix OS and Command-line tools. Most likely you will write your C++ code for Unix-like OSs. Why? Because it’s open-source, which actually means that it’s free and everybody can use it, which lead to the fact that a lot of other C++ libraries and projects are written for Linux, so understanding of it and being comfortable with terminal’s command line tools are essential for C++ developer. Setting up the environment, installing libraries, compiling, running and debugging your code — you gonna need it everywhere as developer! So better get familiar with it right now, this will just make your life…


Image for post
Image for post

I have been working with a code and with C++ in particular since 2014. It started when I had been finishing C++ courses and starting my first job as C++ developer.

In these blog I’d like to talk about some best practices I’m following in my every day coding and about tools and books or blogs which I’ve found the most useful and interesting recently.

These articles gonna be as my personal knowledge base which I hope others C++ (and probably not only) developers find useful and interesting.

And yeah, you are of course welcome to share your thoughts in comments regarding what you’d like to read about or message me at iryna.mykytyn@coxit.co if you have some proposals or recommendations.

Here we go!

Iryna Mykytyn

Computer programmer specialised in C++ and the Linux OS . Passionate about coding, technologies and learning new tools for optimisation and performance analysis

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