Reworking Contribution Guidelines for the Sample Programs Repo

Reworking Contribution Guidelines Featured Image

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 documentOpens in a new tab..

Table of Contents

Contribution Guidelines

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:

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.

Looking Ahead

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 ProgramsOpens in a new tab. has 92 stars and 69 forks on GitHub. Let’s see how far this project goes!

Sample Programs Repo News (19 Articles)—Series Navigation

Everyone once in awhile, I like to update y’all on what’s going on in the Sample Programs repo. At this point, I’ve written quite a few updates, so I figured it might be helpful to group them as a series.

Jeremy Grifski

Jeremy grew up in a small town where he enjoyed playing soccer and video games, practicing taekwondo, and trading Pokémon cards. Once out of the nest, he pursued a Bachelors in Computer Engineering with a minor in Game Design. After college, he spent about two years writing software for a major engineering company. Then, he earned a master's in Computer Science and Engineering. Today, he pursues a PhD in Engineering Education in order to ultimately land a teaching gig. In his spare time, Jeremy enjoys spending time with his wife and kid, playing Overwatch 2, Lethal Company, and Baldur's Gate 3, reading manga, watching Penguins hockey, and traveling the world.

Recent Posts