Skip to content

Opening a great pull request

Matiiss edited this page May 22, 2023 · 3 revisions

Things that make a great pull request

  • Explain why you are making the pull request in the description - Sounds basic, but it is very helpful for reviewers to understand the intent behind some pull requests. If there is some issue you are trying to solve, some useful result the PR is supposed to achieve.
  • Justify why pygame CE should add your new functionality - There are, of course, infinite things that you can code, but not all of them should be in pygame CE. This library has a particular niche being an easy-to-use, yet DIY collection of code for making games & wrapping the SDL library. Pygame CE is a module that is designed to be welcoming to people installing an external package from PyPI for the first time, but still capable enough to put a commercial game on Steam. It is not trying to be an off the shelf game engine, nor is it trying to compete with unity and unreal in their latest 3D graphics effects. It may be that your idea for a complete racing track level editor is great - but pygame CE is not the right place for it.
  • Add a copy and paste-able human test program - This helps reviewers quickly test your code on their machine and makes it more likely your code is going to get human testing on a variety of machines. It can also help explain your PR and justify it.
  • Add CI/unit tests in the test folder - this helps make sure your code stays working over time and helps future programmers who may want to make optimisations to it in the future.
  • Documentation and type hints - If nobody out in user land knows how your new code works, then they won't use it. If nobody uses it, why did you write it?
  • Screenshots, Diagrams and graphs - If you think they would help then stick 'em in