[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [pygame] Draft of, Let's write a unit test



Hi Rene, I have a few general copyediting changes I'd like to suggest. Do you have a markdown or some other plaintext form that I could make a diff of for you?

On Wed, Jul 18, 2018 at 8:14 AM, Luke Paireepinart <rabidpoobear@xxxxxxxxx> wrote:
Rene,

I think it's great you're doing this and I wish you luck. There are always differences of opinions and the way I prefer to teach is a bit different than your structure. I would remove the digressions to a separate article, and structure differently. I think the content is interesting and engaging but is a bit hard to follow the why.

 Here is the order I would present the material and I would make it more Socratic. Present scenarios where these would be issues and work us through how these concepts would be invented. People learn better when they're guided thru idea formation rather than just told how things work now.

What is software, what is a bug (computer just does what you tell it, bugs are just differences between intended and actual functionality, tests describe expected functionality)
What are unit tests
What is the purpose of a unit test
Examples of where not having unit tests was an issue or where having tests could have found an issue (big risky projects to capture attention)
How does a unit test differ than what new people typically do to test their software (integration tests) - go into regressions here and efficiencies and code coverage
What is tdd
What tests does pygame have currently (test discovery)
Structure of test repos
How do we run all those tests
How to run one specific test (faster iteration)
How to write a test in a brand new python project
Write several tests, discover them, have them all fail
Into to pygame
Explanation of source control / link to git article
How to clone / fork pygame on gitbub
How to write a new test
Verifying test passes / maybe even modify code so test fails
Submit pull request


 I would also remove the subtext of "you can do this however you want". Target audience of your article is people who cannot validate for themselves what the best approach would be and are reading an introductory article with the expectation the author is experienced and will jumpstart them to the way they should be doing things, keeping them out of indecision, or worse, a decision they find out to be worse far into a project when they're heavily committed.

On Wed, Jul 18, 2018, 1:43 AM René Dudfield <renesd@xxxxxxxxx> wrote:
Hello,

I'm trying to write a fun guide for people wanting to contribute to Free, Libre and Open source projects.

It's a bit long.