What programming language (and IDE) is better suited for the refactoring Gilded Rose problem?

Viewed 58

I would like to challenge myself with The Gilded Rose Problem. For the ones unfamiliar with this popular interview assignment, Brad Cypert gives some tips and a general introduction a in one of his blog posts. You can find it here.

In general, it is a problem about refactoring where you should meet some requirements by implementing additional functionalities by operating on a piece of (crappy) legacy code.

This challenge can be taken in most of the popular languages and I think that the combination between language and IDE (for refactoring purposes) is crucial to differentiate a great solution from an OK one. I was thinking about combining IntelliJ, since I have experience with it and I think it is great for refactoring and Java, since it is one of the language I am more comfortable with. However, any other recommendation is more than welcomed and I will be happy to try and experiment with new languages and tools.

Lastly, I was wondering whether someone could provide any guidelines or a more detailed tip based on past experiences about this problem.

1 Answers

You can choose any language and an IDE you are familiar with.

The Gilded Rose Problem is an example of bad code. You can train refactoring with this code. Refactoring is not only what can be supported directly by the IDE. Normally you should also think about the code if there is something that can be expressed in a simpler way.

It does not much depend on the language, according to Nikolaus Wirth (inventor of PASCAL): "A poor programmer can produce bad code in any language."

Related