How To Be A Healthy Programmer
We use them to perform a number of tasks like shopping and paying bills or communicating with other people. Computers undoubtedly make our lives easier and save a lot of time, but there is price to pay.
If we type Ruby on Rails 2019 in Google we will most likely get results from blog posts and forums dedicated to Ruby’s alleged death, but the truth is, Ruby is doing great and still remains a good technology to choose in 2019 and here is why.
Naming things in programming may not be hard (a matter of imagination), but it is definitely hard to do it right. Also, it turns out to be very unclear what “right” means in each and every context. It doesn’t change the fact that in 8 out of 10 PRs I review, I provide a feedback related to naming, be it naming of classes, methods, fields, variables… you name it
A curated list of git commands enough to keep your git history flat I’ve been working on projects where we keep the git history flat (no merge-commits) for quite a bit of time now, and I’ve decided to make a list of git commands I often use during every-day development.
Have you ever thought about writing a technical article to share your knowledge with others and had no clue how to do so? You are in the right place. In this article I will try to guide you through the entire process and highlight the parts you should pay special attention to.
In the previous part of this article we focused on making specs we try to write as readable as possible. This however, comes at a cost of duplication and bloated individual tests. While this is a cost we intend to pay, there are ways to mitigate the impact of readability oriented specs on the overall size of our suite.
Form Object is a very useful pattern in rails ecosystem as it can address variety of issues and antipatterns. In this article we will attempt to sort out in which situations Form Objects can prove useful and what conventions allow us to make most out of them.
Clients and Wrappers (also referred to as “Facades”) are remarkably useful tools for working with external services, libraries or APIs. While both Clients and Wrappers are primarily used to facilitate usage of before-mentioned libraries or APIs, there are some significant differences in responsibilities each of these patterns have. In some cases a Wrapper can take over a Client’s responsibilities too
In part 1 we have covered antipatterns related to stubbing and problem with implementation details that are a overcomplicated just for the sake of being super easy to tests. In second part we are going to focus more on tests themselves.