Fort Awesome

Short title, becuase I am sick and tired at how the recent links look. All cluttered and all.

It’s been slow trying to slog through my Quixotic Quest, but I did read 23 Days in July: Inside Lance Armstrong’s Battle to Win a Record Sixth Tour de France. Good read. I could not put it down, and afterwards I wanted to ride. Yet, I am so lazy that I didn’t. There are no excuses, but I seem to find one any way.

I liked the book. I love the Tour de France. Even if Lance Armstrong wasn’t in it, I would still watch. I was a fan of bicycle racing since I was a little kid. And I have watched the Tour on TV even before there was a Lance Armstrong to root for. Actually, my favorite is Jan Ullrich. Always the perennial bridesmaid.

Anyway the book was pleasant. It gave me more insight into the team strategies involved in racing. I was only disappointed in the fact that the author did not focus on the French rider, Thomas Voekler, much. For me, he embodied the spirit of the 2004 Tour when he defended his yellow jersey in the 15th stage finishing at the top of the Plateau de Beille. He rode the race of his life and just maintained his lead over the unstoppable Lance Armstrong at 0:22 seconds. Incredible! What gusto! He would lose the yellow jersey the next day, but it was amazing.

B+.

“Jimmy, PLEASE don’t tell me how to run your business- which again is now mine.”

Homework Assignment 2-3 Notes.

What is the maximum recommended cyclomatic complexity?
10

What exceptions are there to the answer in “a” above?
Case or switch statements. Question: Does this include if()elsif()elsif()else statements where the condition is testing the same variable? Stupid. Isn’t that a case statement in disguise? Yes.

How would you use the information gained in the article if you were software manager for a major new program?
Cyclomatic complexity is a metric, a measurement of the code of the program. It can be used to describe the quality of the code, and it can be used to prescribe where to focus testing and changes.

  1. Use it to identify bad code: hard to understand, hard to test and hard to modify.
  2. Use it to stress the number tests per module which in turn helps delineate the testing schedule: time, man-hours, etc.
  3. Use it to determine what areas to concentrate on fixing or testing.
  4. If you have third party developed code, use to control it’s quality.

Cyclomatic complexity seems to drive testing from the developer’s viewpoint. How does it work for system tests? Configuration management? Quality? Safety? These are software departments at work.

I’m sorry I have been posting my homework. I have to so that I can read over what I did at work or in school or anyplace else. You see, I can cut and paste this stuff straight from the web. Unfortunately, it’s also clogging up my recent posts list with somewhat useless stuff, but hey, if you’re a software engineer or in school feel free to join in a post a comment.