Book review


Hello, this is my book review from book Facts and Fallacies of Software Engineering. I chose the book because it was about my interest programming. We had to choose one chapter, so I read chapter About Quality because it was most intriguing to me. I also think that it can help me to produce better code. Chapter was divided to three main sections that are Quality, Reliability and Efficiency. Sections are divided to different facts about them.

For example, one fact from book is that “There are errors that most programmers tend to make” (Glass, 2002). That fact is no surprise by any means but it is still important to remember the basics so you do not make mistakes that can be easily avoided. Every programmer should consider this when trying to avoid errors. Writer points out good example that everyone who have been participant of code review remembers moment when someone was like this "oh-oh, it's another one of those (brand-X) errors" (Glass, 2002). Avoiding errors can be sometimes difficult and you can probably never get hundred percent surely code without any errors. That in mind you should at least try learning from mistakes made by other programmers. If you can learn already made mistakes out of your code, you are doing very well.

My reaction to the book was it is interesting and gives useful information. I already knew many things that were in the book, but it got me thinking more of them. I mostly agree with the author. Some parts are more controversial but there is good discussion about them.
“There are tradeoffs between size and time optimization. Often, improving one degrades the other” (Glass, 2002). The text contains good example for algorithm function “For example, consider something as trivial as a trigonometric function. Most trig functions are coded as algorithms; their code consumes very little space, but their iterative nature means that they will take some time to execute” (Glass, 2002). This is not always considered how so normal function works so it is important to think that because I think I it can help improve coding. More intriguing point of view comes from writer’s alternative “An alternative way of providing trig functions is to build into the program a table of values and then simply interpolate among them to get a result. Interpolation is far faster than iteration, but a table will be far larger than that iterative code. (This solution was actually employed on a space system I was involved with, where timing mattered a whole lot and size didn't.)” (Glass, 2002)

We can improve our group project by continuing keeping quality high. Book gives good reminder to that and maybe trying to emphasize design little bit more.


References
Glass, R. L. (2002). Facts and Fallacies of Software Engineering. Addison Wesley.
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.94.2037&rep=rep1&type=pdf

Comments

Anonymous said…
I liked this post and your blog is very interesting at all because it is about technical things. In my opinion your book choice was excellent too! I'm waiting for your upcoming posts impatiently:)
Matias Peltomaa said…
I'm very happy you enjoyed the chapter, I like the more original ideas of the author.
Anonymous said…
Your choice was really interesting! Thank you for this post.
Atte said…
Yep. Interesting post!
But couldn't the error be almost considered to be IDE's or debugger's fault, if 'most programmers tend to make' it? And so those errors are caused by overthinking in many cases? Or what do you mean by that "it is still important to remember the basics so you do not make mistakes that can be easily avoided" exactly?
This sounds like a topic that I would love to debate some more, even though I would be quite likely to lose miserably, due to my pretty much non existing research work😂.

Popular posts from this blog

Some parts of developing the app

About me and my interesting project