https://github.com/erossini/refactcodetest
https://github.com/erossini/refactcodetest
Last synced: 7 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/erossini/refactcodetest
- Owner: erossini
- Created: 2020-03-11T09:48:59.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-03-11T09:56:27.000Z (over 5 years ago)
- Last Synced: 2025-01-12T10:07:12.556Z (9 months ago)
- Language: C#
- Size: 13.7 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Refact Engineering Code Test
Thank you for applying and participating in the code test for us!
The goal of this test is to demonstrate your ability to refactor an existing codebase to adhere to best practices
and good engineering principles. The resulting solution should be closer to what you consider to be production
grade code. There are a few constraints since its currently being used by services outside of this solution:* You cannot change Application.cs
* You cannot change CandidateRepository
* You cannot change InvoiceTransactionRepository
* You cannot change PaymentsRepository* You can change BacsExportService
* You can create/delete/change any Domain/ classesPlease make a reasonable attempt to address the concerns you have with the existing codebase and if you run
out of time please include a list of issues and the next steps that you would take to address them.## Other info
The test should take around 1hr 30 – 2 hrs, though of course if you can spend some more time on it to make sure it’s the highest quality of work that would be great.Though it isn’t timed, essentially they want you to work on the test until you think it is production ready.
I tend to look for candidates with good knowledge and experience with the below, so try and incorporate these into your test:
- Open/Close, Single Responsibility, Liskov Substitution, Interface Segregation, Dependency Inversion Principles
- DRY, KISS and YAGNI
- Tell Don’t Ask
- Backwards Compatibility
- Tests that are isolated and don’t affect each other