Just like you need a map when exploring a new area, other users need guidance on your project. Undoubtedly, self-describing source code is a good practice but the code itself doesn’t explain everything. Questions may arise such as: why the module is being written? Why is it implemented in such a way? What’s the database […]
software development
Optimize debugging time from O(n) to O(logn) with git bisect
Once in a while, there is a need to track that one single commit that silently slipped into the codebase breaking it. The obvious brute-force solution of consecutively reverting the repository commit by commit may not always be the best. Finding a commit that may be far away in history usually becomes tedious and time-consuming. […]
The Code Review Essentials – the reviewer’s side
When I embarked on my software engineering journey I was not really sure what the code review was. The term seemed to be quite clear and self-explanatory, but it took me years to realize how important this process was and how it should be approached. It also varies throughout the different companies, where each of […]
10 useful Git commands for collaborative development
The more people working on a given project, the more work organization it requires. Thus, Git is commonly used to coordinate work among programmers. However, without enough knowledge, using git can become a nightmare. Instead of helping, it only hinders. Instead of keeping control of the repository, you end up with tons of conflicts in […]
2 easy tips to manage environment variables in Python
Environment variables exist outside of your code as part of your server environment. They can significantly automate running your script/applications and make it more secure. For instance, instead of manually changing the user name variable when you run a script on a different machine, you can use an environment variable that returns the corresponding value. […]