Monthly Archives: January 2017

Week 2: Reflections on Learning & Work Products

This week my main accomplishment was setting up my work environment both on Web Storm and Trello.  My whole group made Trello accounts, and we set up our board so we can start getting the hang of how we will be working together this semester.  Trello helps us keep track of what’s done, what’s in process, and who’s doing what.  I personally really enjoy using Trello, because it’s an easy and visual way to stay on track with my group.  This week made me realize that working to complete this project is definitely different then the workplace because we don’t have full contact to each other at all times.  At work it’s everyones full time job to get the project done.  However, here at school, not everyone in the group is always accessible.

The most current thing I have been working on is completing the Angular 2 (Tour of Heroes) tutorial using Web Storm as my IDE.  This tutorial is a fun way to begin learning Angular 2.  Just beginning this tutorial with some of my group members in class taught me that working together and asking questions when you have an issue is very important to get things done efficiently.  Everyone in my group was working together in class to make sure we all had a working environment which was very helpful.  Next week I am going to be sure to post my “daily” scrum on Monday, Wednesday, and Friday because I wasn’t aware that we had to do that last week.  I think frequent updates are a great idea and will be useful when we are working on the actual task.  It will be good to see where everyone is at on daily basis.  Overall, I feel accomplished this week and am anxious to start learning Angular 2 more in depth this upcoming week.

From the blog CS@Worcester – Alex's Comp Sci Blog by alexsblog13 and used with permission of the author. All other rights reserved by the author.

The Clean Coder chapter 3&4.

In our last chapter we focused on the importance of saying No as well as when and how to say no. Well, this chapter shows that knowing how to say yes in certain situation can also solidify our title as professionals. Saying “yes” is a verbal commitment and Roy Osherove splits it into three parts:  saying you’ll do it, meaning  it, and actually do it. The first part is easy for an individual to say. Saying you will do a certain task doesn’t not always signify that you mean it and it doesn’t always lead to completion. So how do we know who is actually committed? Well, we can confirm whether an individual is actually committed by  identifying their choice of words. Using phrase like “We need to get this done”, “I hope to get this done”, or “I Wish i had time for that” are all phrases that shows signs of non-commitment.  A person who is actually committed and takes responsibility for things would avoid using words like need, should, and wish. Instead, they will start their sentences with “I will” to express their commitment. Thus, putting them in a situation where they are obligated to getting the task done.

When saying “yes” we must consider all the possibilities such as deadlines, estimations, and our well-being. As a professional we can’t just simply say “yes” when we have to sacrifice discipline. Breaking discipline will only make things harder. The book gave an example of an employee named peter who was in a situation where he was considering sacrificing discipline to meet a deadline. It states that:

 as a professional he has a responsibility to maintain certain standards. His code needs to be tested, and needs to have tests. His code needs to be clean. And he has to be sure he hasn’t broken anything else in the system.

We have responsibilities as developers to make sure under any circumstance, that our code is near perfection before release.

This leads to chapter 4 of the book which talks about coding and rules that can be followed. I can agree that working working when you are tired will not lead to a clean and applicable code. The best time to code is when your head is clear, when you’re well-rested, and in a decent mood. I listen to music all the time while coding. It was a surprise to see that the book mentions that it is actually not productive to listen to music while coding. I find it funny that the author accident wrote the lyrics of a song in the comments of his code. Even though that hasn’t happen to me, I’m sure it can happen in the future.

 

 

From the blog CS@Worcester – Adestin by adestinyblog and used with permission of the author. All other rights reserved by the author.

The Clean Coder: Chapters 3 & 4

The 3rd chapter “Saying Yes” from the book “The Clean Coder” by author Robert C. Martin, revolves around the language of commitment. Martin introduces one of his colleagues, Roy Osherove in order to give a better judgement and analysis of the words Martin said during his workdays “I’m committed . . . I guess.” Osherove thoughts clearly indicates that the statement as a bad one. He talks about the three main points of commitment.

1. You say you’ll do it.

2. You mean it.

3. You actually do it.

For most of the times, till now when I, myself commit to do a certain task I just thought to do it at some point in time. But, now I came to realize that I was just following step 1 and step 2 at most. From now onwards, I will be very sure on my own commitment that I actually Say, Mean, and Do.

Furthermore, Osherove clearly defines signs of non-commitment such as the words: Need\should, Hope\wish. Luckily, I wasn’t using those for making my commitments, so I considered to be on the safe side. Although making a dialect commitment may sound somewhat unnerving, it can help take care of a significant number of the correspondence issues. On the off chance that you can’t make your commitment, the most critical thing is to raise a warning as quickly as time permits to whoever you focused on.

Moreover, chapter 3 has more to offer on learning how to say “yes”. Professionals are not required to state yes to everything that is asked of them. However, they ought to strive to discover innovative approaches to make “yes” conceivable. After reading this portion of the chapter, I will bear the responsibility to maintain certain standards. I learned where to draw the line of professionalism with regard to family (hopefully in future) and my working time. I should be clear about the work-load, overtime, and ultimately the cost of it.

Chapter 4: “Coding” discusses the act of coding, and the context that surrounds that act. The main theme of this chapter is that, “Dedication and professionalism are more about discipline than hours. Make sure that your sleep, health, and lifestyle are tuned so that you can put in eight good hours per day.” Author Martin has different way of coding, so do I. He believes his creative output are usually generated with driving home and while taking the shower. Meanwhile, he doesn’t mix his music with coding. Writing about myself, I found myself productive when I am more close to nature and its surrounding.

With that being said, coding does requires many competing factors at once. First and foremost is that the code must work, and must fit well into the existing system. It also must be easy to read by other programmers. Some of the times I found myself not writing the complete code and just leaving in the middle just because it’s too hard. For this, from now I will seeking for a help to get my project move forward. Furthermore, a simple external force interrupts my coding time. Next time, as the author suggests pairing can be very helpful as a way to deal with interruptions, I will find a partner to reconstruct the mental context I usually have before interruption.

From the blog CS@Worcester – Software Dev Capstone by osworup007 and used with permission of the author. All other rights reserved by the author.

Week2: Signing up for different accounts

Second week on the final project went very quickly. We had a snow day last Tuesday and only one class Thursday for the week. On Thursday, we ran our first official project sprint. Our group succeeded in achieving every task except Complete Angular Tour of Heroes. We signed up for Trello, OpenMRS and installed WebStorm IDE on our individual laptops. Although, we installed everything on our separated machines, but we worked together as a team to make sure every team member got everything working correctly. We also post an introduction to OpenMRS community from our individual accounts. Tan created another channel for daily scrum standups.

From week2, I learned that working together as a group can be very efficient because if a member is stuck or doesn’t know something there is a good chance that another group member can fix that issue. So, you do not spend extra time on figuring out. I feel like we are lacking communication between our group members outside class, but I think it is because we are not that deep into the project. I also feel comfortable that through the daily scrum channel on Slack we can stay up-to-date in terms of where everybody is and where we need improvements.

From the blog Software Learning and Development – Site Title by hhussainsite and used with permission of the author. All other rights reserved by the author.

Fundamentals of Software Version Control

NOTES FROM Fundamentals of Software Version Control Michael Lehman 1. Overview of Software Version Control Overview of software version control Version Control is the process of keeping track of your creative output as it evolves over the course of a … Continue reading

From the blog CS@Worcester – thewisedevloper by thewisedeveloper and used with permission of the author. All other rights reserved by the author.

Clean Code Chapter 3-4

In chapter 3 of clean code, it was interesting to read his thought on switch statements. As someone who uses a lot of switch statement, it does look very ugly when it is inside your larger code class. It was a common mistake for me in the beginning of coding to have these huge switch statements inside the code. When things need to be changed, I would have find the switch statement inside my code and change it. The solution in the book is to use an abstract factory to hide the switch. However, even then it says the statement are only tolerated if they appear once and are used to create polymorphic objects.

In chapter 4 on comments, the book states that comment does not make up for bad codes. I chuckled when reading that as it was something that I’m guilty of doing.  There are codes I written where I comment that the code is a mess here and I will fix it later. Of course, I rarely ever go back and change it. It is a hard habit to fix especially since you know the code works, although it looks ugly and maybe a bit inefficient. Cleaning it up will benefit you and people who will read the code in the future.  The more you put it off, the less likely you will go back and change it. Commenting with a “will clean up later” just further exacerbate that problem. It is something I should work on in the future.

From the blog CS@Worcester – Site Title by nealw5 and used with permission of the author. All other rights reserved by the author.

Capstone Week 2

This week in the software capstone, I went through the AngularJS tour of hero tutorial. It was an enjoyable and well-made tutorial that introduce beginners to Angular.  The tutorial basically goes through the design of a small part of a video game. You are basically building an UI with data driven application to manage different heroes, hence the name tour of hero. It goes through both the HTML elements of the UI and how to bind our data to the template.

It also goes through using services and also navigating our UI through routing. Finally, it goes through providing HTTP services and connecting to an API server. However, in this case it is just a simulated API server. Overall, it was a very well made and fun tutorial to do. It is good for people who have no Angular or JavaScript experience. It is also interesting enough that if you want to refamiliarize yourself with Angular or JS. This tutorial is great for that also.

Other minor things that were done includes introducing to the OpenMRS team and setting up Trello.

From the blog CS@Worcester – Site Title by nealw5 and used with permission of the author. All other rights reserved by the author.

Clean Code Chapter 1-2

In the first two chapters of Clean Code, the author talked about using meaningful names in your code. In many codes, you will see arbitrary names that will make no sense at all unless you are the author.  This is especially a troublesome thing in legacy codes where there is no way to reach the author of the code. The person that was brought on for maintenance or update then must spend a huge amount of time to understand the code. It becomes even harder when the code has syntax that is hard to understand.

Sometimes syntax usage is unavoidable especially in a corporate setting. When going into an existing project as a new member of a team, there is going to be a lot of company jargons that will be present that you must read up on and understand.

Most of what is written is basically common knowledge for me at this point, don’t use slangs, or random symbol, etc. However, in the final paragraph of chapter 2, it also says that good names require a shared cultural background many times. This is interesting as it is not something I have really thought of. Many tech sectors employ people from many different nationalities, especially India. The different cultural background may affect how to comment and name your code, since something that is common knowledge in America may not be elsewhere.

From the blog CS@Worcester – Site Title by nealw5 and used with permission of the author. All other rights reserved by the author.

Capstone Week 1

Week 1 there were just some initial set up of Slack and learning what we are going to do for this project. Set up with Slack was simple. We decided not to have any leaders at first since we are currently not even sure what project we are doing. We know we are going to use AngularJS so we should plan and learn/refamiliarize with the framework.

Once we are more involved with the OpenMRS project, we will figure out what to do with Scrum, meetup, deadlines, etc.

From the blog CS@Worcester – Site Title by nealw5 and used with permission of the author. All other rights reserved by the author.

The Clean Coder (Week 2)

This weeks reading will be from The Clean Coder by Robert C. Martin. This blog post will revolve around chapters 3 and 4.

Chapter 3 talks about saying yes and when one should say it. Throughout this chapter, Roy Osherove talks about the three main points of commitment.

  1. “You say you’ll do it”
  2. “You mean it”
  3. “You actually do it”

Osherove also talks about signs of non commitment.

  1. “Hope”
  2. “Need”
  3. “Let’s”
  4. “I will…by..”
  5. “Hope”

Osherove made a lot of valid points that I agree with. I noticed that sometimes when I tell myself that I “should” get something done, it doesn’t necessarily mean that It will be done. I feel like those non commitment words are just excuses to not completing a task. When a person says “I Will” when committing to something, it exhibits assurance to the other person, because it tells them that they are taking it seriously and will follow through with their commitment.

Chapter 4 talks about coding, but more specifically, it grasps on the topic of when to code, when not to code, and what to avoid while you’re coding. There was a story where code written at 3am is bad, because it’s difficult to focus at night. I don’t know if I agree with the author completely, because I like to stay up late and code sometimes.It all depends on what my activities are during the day. On the topic of when not to code, you should stop when you find yourself not producing quality code that you know you can produce. You should take a breather and relax so you can clear your head before resuming.

 

 

From the blog CS@Worcester – My Blog by justcodeit94 and used with permission of the author. All other rights reserved by the author.