Shuva's blog
Cyclomatic complexity 
Thursday, December 10, 2009, 02:54 PM - Design concepts
I came across this interesting metric called "Cyclomatic complexity" at work today. It is measurement of how complex a function is in terms of the logical branches it has.

The formal definition as in Wikipedia is quite mathematical and not in tune with the thinking of the like minded people visiting my blog.

A far less and simple definition can be found at this code project article which says to calculate this metric:

• Start with 1 for a straight path through the routine.
• Add 1 for each of the following keywords or their equivalent: if, while, repeat, for, and, or.
• Add 1 for each case in a switch statement.

There is another defintion as seen in Ncover's site which says

The cyclomatic complexity value is the maximum number of test cases needed to get 100% branch coverage, and the minimum number of test cases needed to exercise every path through a method, so it provides a good way to tell how well-tested a method is.

Happy cyclomatting.//
add comment ( 1190 views )   |  0 trackbacks   |  permalink   |   ( 3 / 137 )
So many software development methods 
Wednesday, December 2, 2009, 02:57 PM - Design concepts
I never knew that we have so many software development methods that exist until I read some stuff today. If you had asked me yesterday I would have said:

1. Waterfall ---- thats what I learnt in my first few months at TCS.

2. Spiral --- the diagram when I first saw looked confusing, but thats what I do mostly these days.

3. Extreme programming --- I had spent some time with a start up. Definitely productive with so less management interference. You were almost always the boss but of an extremely small team and which is sometimes just you.

The others which are interesting to know and are formal methods are:

1. Structured Programming Development -- everything is structured, disciplined.

2. Cleanroom -- strong focus towards defect prevention. Quality is though design+coding and not testing.

3. Iterative development -- I dont know how this is different from the Spiral method.

4. Prototyping --- do prototyping, go to user, re-prototype until acceptable. Sounds like RnD project to me.

5. Modified Prototype Model --- Like web-page maintenance. Start simple, keep on modifying based on user needs.

6. Rapid Application Development --- No time, just do it.

7. Joint Analysis Development --- Developers work closely with end-users to develop the software.

8. Exploratory model --- Requirements not known initially, but lets start the project and we will see what is needed.

That makes eleven Software Development models. Woow!

Happy Modelling.//
1 comment ( 99 views )   |  0 trackbacks   |  permalink   |   ( 2.8 / 164 )
Cross platform XML library comparison 
Wednesday, July 8, 2009, 08:39 AM - Analysis and Reviews
I fond this nice site comparing various cross-platform XML libraries. They have a very good benchmark data with lots of graphs. Very useful for making project decisions:

Feature comparison

Benchmark sheet 1

Benchmark sheet 2

Happy XXLing.//
add comment ( 38 views )   |  0 trackbacks   |  permalink   |   ( 3 / 209 )
Recession and Alibaba 
Sunday, June 14, 2009, 09:29 AM - Just a thought
One more effect of recession. Children at school now read "Alibaba and the thirty thieves".

Happy reading.//
add comment ( 925 views )   |  0 trackbacks   |  permalink   |   ( 3.1 / 164 )
Tips for speeding up your Windows XP box 
Sunday, April 19, 2009, 08:25 AM - Tips and Tricks
If you also want to speed up your Windows XP box, the following link serves as a good article.

Windows XP Definitive Performance Tweaking guide


Real life incident:
Shuva: (@ office, losing patience waiting for his laptop to shut down). I will take this question to my grave.
Anadi : What question?
Shuva : Why does Windows take a lifetime to shutdown?
Anadi : (brief pause, shakes his legs as usual, thinks)
...
...
Anadi : Everybody takes a lifetime to shutdown.


Happy Tweaking.//
1 comment ( 189 views )   |  0 trackbacks   |  permalink   |   ( 2.9 / 187 )

<Back | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Next> Last>>