Think about it when you are writing your code. You do not want to deal with building-sized Filesaurus. The creature with laser-eyes, poisonous breath, invisibility, and teleportation. How To Avoid It No file is large from the beginning. All files are created empty. However, over their existence, they slowly grow. If …
Read MoreEach codebase is using some naming conventions. Either explicitly by following some document, or implicitly by following patterns already used. It should always look like the file was written by a single person. In the example below you can see how it should not look like: 1num_legs = 6 2wings = 2 3number_of_stings = 1 …
Read MoreLaw of triviality is C. Northcote Parkinson's 1957 argument that people within an organization commonly or typically give disproportionate weight to trivial issues. "The time spent on any item of the agenda will be in inverse proportion to the sum [of money] involved." A reactor is so vastly expensive and …
Read MoreEvery day may not be good. Sometimes when you get stuck, nothing works as expected, your morale and self-confidence may get low. It could happen to everybody, and it is completely fine. You should not, however, stay in this state for too long. To bounce back you should know what works for you. One such thing could be …
Read MoreFinishing a task is a daunting challenge. It is not easy to figure out where to start, not to lose direction, and get to the finish. You can apply this rule on different levels. You can divide large work items into smaller tasks. You can split single routine into many smaller ones. Tasks Splitting large task into …
Read MoreThe idea of search-oriented programming is based on two premises: Every useful class, method, or attribute has been used at least once. If nobody is using it, do not use it either. Every line in mature software has been checked by multiple people. Therefore every class, method, or variable has a descriptive and …
Read MoreDiscussions about ideal function lengths are never-ending. My rule of thumb is that the ideal function should fit into your head. If it is longer, it will not fit there, and therefore you cannot reason about it. To determine if the function is too long, place your head next to the screen, and compare its length with …
Read MoreGetting your work done is very important. Therefore it is necessary to make sure that you can proceed with your tasks smoothly. To ensure that it is useful to look ahead and think about your dependencies. It is important to keep track of the work of your teammates to be able to see early if they are progressing as …
Read MoreGetting your team's work done is very important. Therefore it is necessary to make sure that you are not blocking others. Keep track of work of your teammates, so you know when your work will be needed by others. If you find out that somebody will need your work when it will not be done, reach out to them. Try to …
Read MoreAs developer you will be very often communicating with other parties asynchronously. Typical examples of such communication are email, messages, as well as discussions in pull requests or document. It may take from several minutes, to hours, or even several days before you will get reaction to your actions back. If the …
Read More