Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Hormonal Hedonists #16
While the commit quality of this project is mixed, I'd say it's above average when compared to the other projects in the code jam. There are a lot of commits with informative summary lines that help me understand what's going when reading through the commit history without having to study the underlying code. That said, there are still commits that have generic summary lines like "fixed some issues", "added functionality", and "didn't mean to commit this". A summary line that better captures the actual changes introduced by the commit (e.g., "Revert accidentally committed changes to constants and default values") would make it easier to directly see what kind of changes the commit makes. What I am missing are message bodies: There are very few commits that have a message body explaining in more detail what's going on and why.
When I look at the commits themselves, I see a lot of nice, atomic commits that consist of a single, coherent change. There are a few that I think could have been separated into more atomic separate commits, but, overall and considering this is a Code Jam, I'm pleased by how the commits are structured. One thing I would recommend is the use of a linter/pre-commit hook; there are a lot of, often consecutive, "Fixed linting errors" commits that shouldn't have been there. As a general recommendation, I'd recommend checking git features like
Since we are a learning server and to provide a bit of context to the commit quality review above, I've attached a couple of links to resources on what makes a good commit/commit message:
The README of this project is of average quality. While I like the addition of the illustration, the rest of the README is limited to the basic installation details and controls. As the README of a project is often the first thing people see when they browse to an application on GitHub, I would have liked to see a general description of what the application. It isn't until I read the description of the
(As a small side note: The "Installation" section lists a method of installing the dependencies of the project using
I really like the overall code quality of this project. The structure is really good, it makes good use of the features Kivy offers, utilizes inheritance in a really nice manner, and it uses modern and idiomatic Python patterns. The code is easy to read and understand and it makes sense when you read it.
When it comes to the documentation of the code, I like the use of block comments to guide the reader through the more complicated parts of the code. That said, I would have loved to see the use of docstrings to have clear and succinct description of each method right at the top of each one. The use of proper and descriptive names partly makes up for this, but even just adding docstrings with nothing more than summary lines would have been great.
Overall, I think this team has expressed their ideas clearly in their code: it's clean, it's concise, follows common style conventions, and it's easy to grasp what each part does.
Taken together, I really like this project. Sure, the commit history could have been a bit cleaner, I would have liked to see more docstrings, the README could have had more content, but that doesn't change that it looks like a solid job.