This is sample code for a technical exercise to recognize and remediate code smells.
If you're doing this for fun...
If you're doing this as part of a technical screening process...
...please bear in mind the following:
- Remember to include a text file with your design notes. Include your rationale for choosing the particular code smells you chose as the starting point for remediating the code. Why did you consider that particular smell the most important one or the most impactful one or the easiest one? Doesn't matter what your rationale was, but it does matter that you had a rationale and you can explain it.
- Don't assume this code base includes 100% of the code in the hypothetical application. This is only meant to be a "chunk" of code to work with for the exercise. Assume that all the methods have clients out in the world somewhere, and there are no unused methods.
- Commit frequently and include meaningful commit comments so that we can follow your thought process for incrementally remediating the code.