Author Archives: Jean-Pierre FAYOLLE

About Jean-Pierre FAYOLLE

Freelance consultant, blogger.

Legacy application – Refactoring or reengineering? (VI)

We want to write characterization tests on our Legacy C application, with the goal of transferring the knowledge to another team, or during an outsourcing.

What should be the scope of this ‘characterization’? When can we consider that our test coverage is sufficient? Is it possible to quantify the effort it represents?

Legacy application – Refactoring or reengineering? (IV)

Back from summer vacations and back on this series about Legacy code. In this post, we will talk about the importance of unit testing in order to understand and a Legacy application, before to start any change.

Enjoy!

Legacy C application – Refactoring or reengineering? (III)

We continue our series about estimating the costs of refactoring or reengineering a legacy C application. Would you say that the most complex programs and functions also have the highest number of violations to the best practices about readibility and undestandability ?

Enjoy!

Legacy C application – Refactoring or reengineering? (II)

We continue our series about Legacy C applications and how to proceed when deciding about refactoring or reengineering. In this post, complexity and size of functions an programs.

Enjoy!

Legacy C application – Refactoring or reengineering? (I)

We continue our series about Legacy C applications, with the example of the first release of Word (1.1a). Imagine that you have to recommend a strategy for such an application. How would you proceed?

Enjoy!

Audit of a Legacy C application – Microsoft Word 1.1a (II)

Second post of our series about analyzing the source code of Word 1.1a. In this one, I will have a look to the compliance to best practices and the kind of violations that can be found.

Enjoy!

Audit of a Legacy C application – Microsoft Word 1.1a (I)

Microsoft has released this week the source code of Word 1.1a (1990) and I did analyze it. I was curious to see what would be the results, both in terms of quantitative metrics (size, complexity, documentation, duplications, etc.) and qualitative numbers (violations of best programming practices). Also, what would be the technical debt on this software.

Note that I am not looking to debug this Word release so I don’t need the best precision in my analysis. I just want to get an overall view of its quality and think to what can we learn from all of this.

There will be serveral posts. Here is the first one:

Enjoy!