2 dimensions of the code review process complexity

Photo by Pankaj Patel on Unsplash

You have probably been in my place. You have perfectly planned working day ahead, there are around 2-3 tasks that you need to do, and you think: “Wow, I finally have it under the control”, and then you open your laptop, and realize, that there are at least 3 code review requests waiting for your feedback. And even though you have recently working in some of the files, that PR is changing, CRs take much more time, than you would expect.

Continue reading →

Visualizing sorting algorithms

Currently, I am going through course JavaScript Algorithms and Data Structures (which I highly recommend by the way). For me, one of the strongest parts of this course was Colt ability to explain everything, not only how to implement code, but also what exactly one or other part is doing. Among all instruments used there, one of my favorites were ones, that visualize what is happening, when sorting algorithms are run.Continue reading →

Debugging tips – console.trace

From my observation, debugging is the best-kept secret of the developer life. Everyone is doing quite often, some are doing it even every day, but rarely anyone is talking  (not moaning :)) about it publicly. Have you seen great tech talk at the recent conference, that has addressed some debussing techniques or anything that can be used next time one should find a way to fix the bug? If yes, please, please, please, share it in the comments.Continue reading →

What I have learned from the Kent C. Dodds testing JavaScript course

The strange thing is happening when one is gaining more experience – it is harder to identify or to find what new to learn. It definitely depends on the width of the area, as some things can be learned in a few hours, and for some, even a few years are not enough. And with this more broad areas it is easier to experience this phenomenon when even though you do know that you do not know everything, it is hard to identify what you do not know.Continue reading →

How to add flow type definition for raw-loader

Recently I have encountered a quite odd problem. I was trying to load *.html file as a string in my React component using raw-loader , but have obtained flow error that flow can’t recognize this type of import. And here fun starts 😉 As I haven’t found anything straightforward about flow typing raw-loader I took a look at how this problem was solved for a much more common use case – CSS Modules. There are quite a few googlable ways how to fix this error for CSS Modules, so let’s see what they are, and what are downfalls of each way:Continue reading →

How to write better (code) review

As a software engineer, I do or receive code review nearly on daily basis (except probably Saturday’s and Sunday’s 😂). On the beginning of my career, I haven’t paid a lot of attention to the exact way how code reviews were provided. If they contain any clues to what can be improved – it was ok for me. After spending some time on this side of the software development process, I have made conclusions from my own reactions about what, in my opinion, makes good review even better. And under these, I not only mean emotional reaction to the feedback but more willingness level to make changes and make this PR be merged. You probably know what I am talking about here. A moment, when you have finished reading code review, and you are still smiling, and it is clear for you what needs to be changed, or where you should look in for better ideas how to make this task be done. Continue reading →

Playgrounds for React patterns: compound components and render as a props

During my preparation to talk in Verona on ReactJSDay I have tried to dive deep in some patterns in React that have been broadly discussed (at least in my twitter feed 🙂  ). For me, one of the best ways to understand the code better is by playing with it a little bit, so I have created a few simple codepen playgrounds that were based on the existing code samples. Maybe you will find them useful as well.Continue reading →