6

I am writing a software documentation and I need a antonym to "legacy code". Is there any established word for the antonym to "legacy code"? I'll need this antonym to describe that code which was written by myself.

Example: The main focus is to replace legacy code by [antonym] code.

closed as primarily opinion-based by gnat, Bryan Oakley, Greg Burghardt, Thomas Owens Apr 27 '17 at 13:39

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 7
    I think that the term for the code you are writing today is tomorrow's legacy code. – High Performance Mark Apr 27 '17 at 7:25
  • Is your documentation for software which contains legacy code and your new written code? – IQV Apr 27 '17 at 7:29
  • 5
    "code with tests". Mike Feathers defines "legacy ode" as "code without tests", hence the antonym is "code with tests". Sadly, most developers write "legacy code" even in "green field" projects. – Bernhard Hiller Apr 27 '17 at 7:47
  • 2
    I think "new code" is all you need. – Bryan Oakley Apr 27 '17 at 12:06
  • 1
    @Walfrat: sure, but to my understanding "refactoring" means applying code transformations like the ones given by Fowler in his catalog. Throwing away even a single function and reimplementing it from scratch, even if the function has less than 10 lines and has the same signature than the old one, is not in that list. – Doc Brown Apr 27 '17 at 12:06
7

Greenfield

A greenfield project is a project without any requirement of compatibility with legacy systems. The allusion is to a field of green grass on which nothing has been built.

  • 2
    In such cases though, legacy projects are referred to as "brownfield" and not "legacy". – Sklivvz Apr 27 '17 at 7:58
  • 1
    In OP case I diasagree The main focus is to replace legacy code by [antonym] code. There are already existing code, so this answer is not the right. – Walfrat Apr 27 '17 at 11:37
  • 1
    If the person is dealing with a system that contains legacy code, the replacement won't be "greenfield" since it still has to interface with other pre-existing code and infrastructure. The OP didn't give the impression that they are rewriting the entire code base. – Bryan Oakley Apr 27 '17 at 12:08
3

That would be just code or new code. Note that the term "legacy" in IT implies it is no longer considered optimal. Stuff you are not happy with yet still cannot do without. It may originally have been introduced as a respectful term or eufemism but its connotation today is rather negative.

A true antonym would imply you have no issues with the code regarding its applicability or usefulness to today's environment. You could call it modern code.

I would rather avoid qualifications like these at all though and stick to the technical qualifications instead that do not bear the old/bad versus new/good feel.

  • 1
    Or as I like to call it, "Legacy-code-in-waiting" or "Tomorrow's Legacy Code" – Greg Burghardt Apr 27 '17 at 12:44
2

Going by your example sentence, I assume that you use legacy code in the sense of code that cannot be understood, maintained, or improved with reasonable effort, i.e., you hope that the code you wrote is not future legacy code. Therefore I suggest sustainable as the antonym, as it emphasises that future developers can use your code.

The main focus is to replace legacy code by sustainable code.

-1

In your example you can use "novel code".

Keep in mind that "legacy" is mostly a relative comparison between two bits of code, meaning "older than something" as there is no strict point at which code becomes "legacy". So a word like "novel", while not strictly in use for this, might be appropriate to strike the difference in reverse.

legacy: adj
of or relating to old or outdated computer hardware, software, or data that, while still functional, does not work well with up-to-date systems.

novel: adj
of a new kind; different from anything seen or known before.

  • 2
    I don't think "novel" is the right word here. It may not be "different from anything seen or known before", it may be just ordinary code, or code that is simply best-practice code to replace poorly written code. It won't be a new "kind" of code, just new code. – Bryan Oakley Apr 27 '17 at 12:10
  • 1
    @Bryan It is not about bad code versus good code, it is about code from the past versus code from the current era. From a linguistic point of view one could state that current is not an antonym to past, that it should imply future. Or at least "as new as it gets", the other end of the spectrum rather than the middle. So I do not think this is a bad answer at all. – Martin Maat Apr 27 '17 at 13:37
  • " It is not about bad code versus good code, it is about code from the past versus code from the current era" - I agree. "code from the current era" or even "code from the future" is not necessarily novel. "novel" is not a synonym for "new". It's closer in meaning to "unique" or "ground-breaking". If I replace a = a + 1 with a += 1, that's not novel because there are millions of lines of code that do similar things. – Bryan Oakley Apr 27 '17 at 14:52
  • @BryanOakley a+1 is a bad example, because it would not be legacy either, in itself. I would call the codebase novel, because it's a novel solution within the company, exactly unlike the previous legacy solution. – Sklivvz Apr 27 '17 at 17:22

Not the answer you're looking for? Browse other questions tagged or ask your own question.