Click here to Skip to main content
16,021,580 members

Survey Results

You inherit code in a language you're not familiar. Do you...

Survey period: 23 Jun 2014 to 30 Jun 2014

A hypothetical of 4 choices.

OptionVotes% 
Learn the new language inside and out and get to work38417.49
Learn enough to do what's needed, but no more1,46966.92
Find someone who does know the language and pass it to them1135.15
Rewrite it23210.57



 
GeneralRe: Totally depends on context and risk Pin
ProfessorDan23-Jun-14 10:31
ProfessorDan23-Jun-14 10:31 
GeneralLearn enough of the language to work with the code, for now... Pin
Silvabolt23-Jun-14 7:34
Silvabolt23-Jun-14 7:34 
GeneralIf I have to maintain it, then I'll try to pass the buck. Pin
jkirkerx23-Jun-14 10:17
professionaljkirkerx23-Jun-14 10:17 
GeneralA mix Pin
Nelek23-Jun-14 7:14
protectorNelek23-Jun-14 7:14 
GeneralMake it work and no more Pin
jgakenhe23-Jun-14 4:16
professionaljgakenhe23-Jun-14 4:16 
GeneralThis is actually a trick question PinPopular
Chris Maunder23-Jun-14 4:04
cofounderChris Maunder23-Jun-14 4:04 
GeneralRe: This is actually a trick question PinPopular
snorkie23-Jun-14 4:29
professionalsnorkie23-Jun-14 4:29 
GeneralRe: This is actually a trick question Pin
Andreas Gieriet23-Jun-14 5:19
professionalAndreas Gieriet23-Jun-14 5:19 
Maybe we in general do code too early, and leave it as is, instead of design and only then code (let's assume that the average developer has *not* the attitude of "not-invented-here").

Some prefer to do this in iterations (kind of evolution from ideas->crude-hack->prototype->usable-version->extensible-version->maintainable-version->...) - all involving of re-writing - mostly own code.

Some people claim that only after rewriting at least twice, the implementation is in a good shape - I don't know if this is true. I observe that the first version is not really in a good shape in average.

I think it also has to do with not focussing on added value and with over-compensation and over-engineering:

  • focus: if you do a ceratin project for the first time, you play with a lot of ideas and barely manage to focus on the real thing (that's where e.g. SCRUM or alike may help to focus on added value and not engineering playground)
  • over-compensation: if you do a second generation of some product, you have too many weeknesses of the former generation in mind and "forget" about the many well behaving features. So, the weeknesses of the former generation must "go away" now. This leads to an architecture, design, and implementation that covers many special cases and barely manages the common cases well enough.
  • over-engineering: some developpers tend to over-engineer in the sense "this could also be useful and that is cool too, so let's (silently) prepare for this and that too". If not properly steered into the "added value" direction and "lean developemnt" (only do what's requested, and in a decend way) then the implementation gets cluttered with hooks for this and that and whatever else might be potentially useful some time...


Finally it's a matter of getting these forces under control and focus on "lean development" and "added value". The task: "herd the cats" Smile | :)

PS: as a team lead/manager/product owner (you name it), you have to justify the effort/cost/quality. So the question to rewrite or not (refactor) is to be evaluated. Not on the tiny detail but on the larger scale - where it matters. Why? Cost/gain? Risk/can we test? Do we (finally) know what it is exepcted to do? etc.
GeneralRe: This is actually a trick question Pin
KarstenK24-Jun-14 1:23
mveKarstenK24-Jun-14 1:23 
GeneralRe: This is actually a trick question Pin
Jonathan Nethercott23-Jun-14 5:23
professionalJonathan Nethercott23-Jun-14 5:23 
GeneralRe: This is actually a trick question PinPopular
Ravi Bhavnani23-Jun-14 5:50
professionalRavi Bhavnani23-Jun-14 5:50 
GeneralRe: This is actually a trick question Pin
Chris Maunder23-Jun-14 15:39
cofounderChris Maunder23-Jun-14 15:39 
GeneralRe: This is actually a trick question Pin
Bassam Abdul-Baki26-Jun-14 5:21
professionalBassam Abdul-Baki26-Jun-14 5:21 
GeneralRe: This is actually a trick question PinPopular
Rob Philpott23-Jun-14 6:33
Rob Philpott23-Jun-14 6:33 
GeneralRe: This is actually a trick question Pin
Chris Maunder23-Jun-14 15:38
cofounderChris Maunder23-Jun-14 15:38 
GeneralRe: This is actually a trick question Pin
KarstenK24-Jun-14 1:27
mveKarstenK24-Jun-14 1:27 
GeneralRe: This is actually a trick question Pin
JMK-NI23-Jun-14 7:42
professionalJMK-NI23-Jun-14 7:42 
GeneralRe: This is actually a trick question Pin
CPallini23-Jun-14 21:26
mveCPallini23-Jun-14 21:26 
GeneralRe: This is actually a trick question Pin
KarstenK24-Jun-14 1:19
mveKarstenK24-Jun-14 1:19 
GeneralRe: This is actually a trick question Pin
Gary Wheeler24-Jun-14 1:20
Gary Wheeler24-Jun-14 1:20 
GeneralRe: This is actually a trick question Pin
Dan Neely24-Jun-14 2:34
Dan Neely24-Jun-14 2:34 
GeneralRe: This is actually a trick question Pin
plaster24-Jun-14 5:55
plaster24-Jun-14 5:55 
GeneralRe: This is actually a trick question Pin
Smart K826-Jun-14 3:15
professionalSmart K826-Jun-14 3:15 
GeneralRe: This is actually a trick question Pin
Ian Shlasko27-Jun-14 3:00
Ian Shlasko27-Jun-14 3:00 
Generalif it's Visual Basic I would always re-write it ! :) Pin
BillWoodruff23-Jun-14 3:17
professionalBillWoodruff23-Jun-14 3:17 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.