2.3.2 Classifying Code

Before starting the actual porting process, segregate the code based on the amount of migration effort required for each unit. This will allow you to estimate the overall effort required for the migration.

For example, if 80 percent of the code is portable (for example, Java) and if 10 percent is scripts, only the remaining 10 percent of the code might have bigger porting challenges and need more attention. The easiest way to arrive at this estimate is to segregate code based on the programming languages used for coding, and then evaluate each one of them separately for porting complexities.

As a rule of thumb, code written in Java, Perl scripts, and shell scripts should present fewer challenges compared to native modules written in the C, C++, or Visual C programming languages. However, you might come across projects with exceptions. The porting of scripts is one such area which needs careful planning and assessment. The following section discusses in more detail the potential issues during script migration.