D1 to be discontinued on December 31, 2012
Walter Bright
newshound2 at digitalmars.com
Thu Dec 15 11:41:05 PST 2011
On 12/15/2011 9:49 AM, Robert Clipsham wrote:
> * Do it all in one go, and DO NOT GET DISTRACTED. The moment you start trying to
> clean up code as well as finish porting it you introduce lots of issues
I've done many projects that translated code from one language to another, some
were pretty large. The One Big Most Important Rule is:
!!!! DO NOT REFACTOR/ENHANCE/IMPROVE/FIX/CLEANUP THE CODE WHILE TRANSLATING !!!!
I know how tempting it is. It's incredibly tempting. It's a huge mistake.
The method that works is to turn your brain off, and simply translate. Strive
for a 1:1 correspondence between the original code and the translated code. Do
not divert from this until after your translation is done, and it behaves
identically to the original.
The reason is that the translated version inevitably will not behave like the
original. A lot of things will be broken. If you did a 1:1 translation, you can
instrument both, find where the translation diverges, and fix it in a fairly
quick and straightforward manner. If you changed the way it is organized or
works, then you have no idea if it is a translation error or your changes broke
it, and you have a much, much harder time fixing it.
More information about the Digitalmars-d
mailing list