I deleted my program, actually C++ code, and am re-writing it in a different way.

Especially, I am updating the engine of my code.

What would be the best word or verb to express what I am doing?

  • remake

  • renovate

  • rebuild

  • redesign

  • reconstruct

  • Since you deleted it, and then rewrote, I would omit "renovate". The other three options seem okay. May 31, 2016 at 6:20
  • @CowperKettle Would "renovate" be okay if I deleted some parts of my code?
    – Han
    Aug 15, 2016 at 15:25

3 Answers 3


There's a domain-specific term Refactor which you may be looking for.


Improving a computer program by reorganising its internal structure without altering its external behaviour.

For example:-

"The original program grew out of a messy prototype, so I spent some time refactoring and now it is easier to maintain."


As per me, rebuild will be the best verb to use, and rewrote itself seems like a good option.

I had to rebuild the C++ program I was working on.


I rewrote the C++ program code from scratch.

Remake also sound correct but somehow doesn't sound as good as rebuild to me, in this case.

I remade the C++ program.

Renovated and redesigned do not seem appropriate to me.

Renovate is more popularly used for physical buildings.

For example,

I had to renovate my house after the earthquake.

Redesign seem appropriate when the 'design' of something is being considered, which is not the case here.

I redesigned the software because it was not looking very user-friendly.

  • "Building" a program has a very definite meaning: it means executing your compiler program on the source code to produce the executable. Developers can do it many times an hour, and it often takes mere seconds (or hours for big projects...) So "rebuild" is a throw-away word in the industry (unless it's a big project!) Aug 16, 2016 at 9:03

There are three things you might have changed:

  1. The outward behaviour. For example the user interface might now be radically different
  2. The internal design. Perhaps you used a different approach to the overall structure or you used a different Framework or set of low-level libraries, or different algorithms to calculate the results.
  3. The actual code. In principle you might have used exactly the same algorithms, program structure etc. but simply wrote the code using different variable names.

It's pretty unlikely that you would have just done item 3; almost certainly the crucial part was the redesign. The fact that you chose to delete the entire code-base implies that this was a very fundamental change not just a simple refactoring or replacement of some low-level libraries.

I would make it clear that a new design was created. I think in this case you did not actually change the functionality. So:

We redesigned and reimplemented the application exploiting the xxxx framework.

Had you modified the actual functionality I would say:

The application has been completely redeveloped, with detailed analysis and function design preceding the technical redesign and reimplementation.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .