Should I Repair or Rewrite?

0 votes
I'm sure you have all been there, you take on a project where there is a creaky old code base which is barely fit for purpose and you have to make the decision to either re-write it from scratch or repair what already exists.

Conventional wisdom tends to suggest that you should never attempt a re-write from scratch as the risk of failure is very high. So what did you do when faced with this problem, how did you make the decision and how did it turn out?
Sep 25, 2018 in IoT (Internet of Things) by Upasana
• 8,530 points
14 views

1 answer to this question.

0 votes

If it's a small system, and you fully understand it, then a rewrite is not crazy.

On the other hand, if it's a giant legacy monster with ten million lines of undocumented mystery code, then you're really going to have a hard time with a full rewrite.

Points to consider:

  • If it looks good to the user, they won't care what kind of spaghetti mess it is for you. On the other hand, if it's bad for them too, then it's easier to get agreement (and patience).
  • If you do rewrite, try to do it one part at a time. A messy, disorganized codebase may make this difficult (i.e, replacing just one part requires a rewrite of large icebergs of dependency code), but if possible, this makes it a lot easier to gradually do the rewrite and get feedback from users along the way.

I would really hesitate to take on a giant rewrite project for a large system without being able to release the new edition one part at a time.

answered Sep 25, 2018 by Annie97
• 2,190 points

Related Questions In IoT (Internet of Things)

0 votes
1 answer

Should I use MQTT or HTTP?

After testing MQTT vs HTTP(REST) over SSL from a ...READ MORE

answered Sep 3, 2018 in IoT (Internet of Things) by Annie
26 views
0 votes
1 answer
0 votes
1 answer

How to use the data I receive from Azure IoT Hub?

The payload you receive will be a ...READ MORE

answered Aug 1, 2018 in IoT (Internet of Things) by DataKing99
• 8,130 points
84 views
0 votes
1 answer

I want to perform Type Conversion of Date Type Value

Instead of returning return Long.toHexString(date.getTime()); Return following return Long.toHexString(date.getTime()/1000); As correctly ...READ MORE

answered Aug 3, 2018 in IoT (Internet of Things) by anonymous2
• 4,260 points
30 views
0 votes
1 answer
0 votes
1 answer
0 votes
1 answer

How do I compare MQTT and TCP packets ?

It depends on the higher-level protocols (above ...READ MORE

answered Aug 27, 2018 in IoT (Internet of Things) by anonymous2
• 4,260 points
56 views
0 votes
1 answer
0 votes
1 answer