What is good code?
In a hackathon, when it comes to programming, most of the time, the idea is to learn and have fun, compromising code quality and readability.
However, as we evolve as Software Engineers the quality of the code we write gets more important, making easier to build systems that are:
- Scalable.
- Modular.
- Testable.
- Independent of frameworks, UI and Databases.
How to measure code quality?
This could be summarized as the number of WTFs per minute when trying to understand/read source code:
What is in the end good code?
High quality code in general terms, can be translated to source code that:
- Is covered by tests (a good practice would be to be aligned with the Test Pyramid).
- Respect SOLID principles (if you come from a Functional Programm there are equivalent principles too).
- Follow Engineering Design Patterns (Patterns are proben solutions to recurring problems).
- Use Programming Languages Format and Naming Conventions.
- Has a good Design and Architecture (Simple and easy to understand).
Webinars and Documention to the rescue
In order to facilite developers life, we have published a bunch of webinars here, here and here, which can help you achieve all the mentioned points.
Also you can find extra documentation for every specific Red Hat technology.
Wrapping up
Writing production-ready code is not easy, it requires time and effort which could be key in a hackathon, but keep also in mind that it can give you a couple of extra points.
Check the Judging Criteria Section for more information.