Due to the influx of support to the Sample Programs repo during Hacktoberfest, we were forced to rework the contribution guidelines which you can find in our contributing document.
Table of Contents
If you’ve followed along with the Sample Programs repo at all, you may have noticed that the contributing document got a lot smaller. That’s because Hacktoberfest has been very, very good to us, so we’ve gotten a ton of new contributors. In the process, we were forced to restructure the repo a bit to improve readability.
Documentation Has a New Home
The biggest change came about toward the end of October when all the rules in the contributing doc were broken out into their own files and stored in a new documentation directory. Now when you visit the repo, you’ll notice a new doc folder. Inside, you’ll find a brand new set of files with the names of all the projects we’re currently accepting.
If you’re interested, here’s the list of the latest projects:
- Convex Hull
- File IO
- Fizz Buzz
- Game of Life
- Hello World
- Longest Common Subsequence
- Reverse a String
- Roman Numeral Conversion
Of course, this collection has been growing rapidly. For instance, by the time this article publishes, there should be rules for factorial, prime, and even/odd.
As a side note, you may notice that a few of the programs above have links. That’s because we try to write articles for every code snippet in the repo. Of course, we need authors to make that happen, so if you’re interested in writing, let me know.
Documentation Has New Rules
In addition, we’ve tightened up our contribution guidelines for new projects. Now, contributors will have to draft a new file using our projects template which can be found in the contributing doc. The projects template outlines three critical areas when designing a new set of rules: problem description, requirements, and testing.
When a problem is defined, it’s important to describe it at a high level which should include topics like the motivation behind the problem and its associated context. From there, the contributor should outline some solution requirements. However, we mostly only care about input and output. Program details don’t really matter.
Finally, we should always share some test cases, so we can verify that a program works as expected. This can sometimes be hard for programs like game of life. For most programs, however, we only care about input and output, so we’ll focus on those.
Finally, if any reading materials were used in the construction of the project file, they should be referenced in the further reading section.
With these new contribution guidelines, I’m hoping that we’re able to open ourselves up to a more diverse set of contributors. After all, we need people to maintain our documentation just as much as we need people to contribute code snippets.
As of today, Sample Programs has 92 stars and 69 forks on GitHub. Let’s see how far this project goes!
Today, I'm whipping out some philosophy jargon to characterize some of the problems I see in the tech education community.
Have you ever wondered how Python's power function works internally? Well, I took a stab at it!