Last Class

Last day of our class was on Friday, and we discussed about how was our Capstone class and talked about our experience and some suggestions to improve the future classes. I earned good experience in this class. Before this class I didn’t have any idea about open sources. I am happy that we worked on an open source like OpenMRS and now I have the opportunity to work on OpenMRS whenever I want, and I can learn a lot of things that will help me for my future job.

Thank you to all people who helped me in this course. My professor, all people in OpenMRS, and my teammate.



I spent the last week to reinstall Vagrant and OpenMRS radiology module. Because they didn’t work properly. Our professor made a very good tutorial about how to setup everything. I deleted Vagrant and OpenMRS modules, and reinstall all of them based on the tutorial, and finally everything worked correctly. This week we were working on the RAD-138 issue, and we made some changes to some messages. Then we updated the radiology module. But right now when I test the radiology module it doesn’t work, and I am trying to fix it.

Chapter 4 and 5

In chapter 4 Martin mentions some rules and principles for coding. Coding needs concentration and focus. Whenever you are tired or distracted do not code. If you code in that situation the code will be wrong and sloppy. Also writing code when you are worry about something is not a good idea, so before writing code try to resolve the worry. Some programmers feel that they are more productive and infallible when they are in the “Zone”. The problem of writing code when you are in the Zone is that you lose some of big pictures. Writing code in the Zone is faster but it will cause you to go over that code again to make changes. One interesting thing that Martin mentions is about listening to the music while coding. Some programmers listen to music while coding and they think that they have more concentration. But music is helping them to enter the Zone. Factors such as sleep deprivation, fear, and depression can cause blockage. In that situations the solution is to find a pair partner. Working with someone can help you to think better. When you are stuck and feel tired just step away, go outside, take a shower and try to clear your mind from everything.

Chapter 5 is all about Test Driven Development(TDD). Martin believe that all programmers should use TDD in their codes. He mentions that first write a failing unit test before writing any code. Then writing code to make it pass and repeat this cycle ­­over and over until the final product is achieved. For me writing test before writing code is very hard. But I think doing this will help us to have fewer bugs in our codes. Also when we have bunch of tests that we trust, then when we see bad codes we can clean them without fear. But using TDD doesn’t guarantee that you won’t have bad code.

The Clean Coder Chapter 2 and 3

After reading chapter 2 and 3 of Clean Coder I understood that saying no is part of being a professional. Sometimes managers have unrealistic expectations in the limited time. So, whenever you think that you won’t be able to do task on time you should say no instead of saying “I’ll try”, because that will give a false impression to everyone that the task is doable. Professionals are also expected to explain their positions, and come up with viable alternatives. Professionals negotiate with their superiors until both parties are satisfied with the chosen direction. On the other hand, saying yes is as important as saying no. When you are sure that you are able to do the task on time you should say yes. But you should be careful about saying yes, when you say yes you make a promise and you should work hard to make yes possible.

The Clean Coder Chapter 1

The first chapter of “The Clean Coder” written by Robert Martin is about Professionalism. For being a professional programmer, he has mentioned some key points. Responsibility and accountability are two important aspects of professionalism. As a professional programmer, we should take responsibility for our code. It is our job to know what our code does and ensure that the entire code works properly. When coding, we should always aim to cause no harm in our project. This may be achieved by writing automated tests for every line of our code and test them every day to make sure that there isn’t any bug. Furthermore, we should write codes which are reusable and easy to change as we need. It is also our responsibility to keep training ourselves by reading, practicing, learning, and keep ourselves up to date on new techniques. I’ll try to be a professional programmer by using these points in my future career.