TheOdinProject / ruby_testing

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

The phrase 'publicly tested' is confusing to learners

hykare opened this issue · comments

Complete the following REQUIRED checkboxes:

  • I have thoroughly read and understand The Odin Project Contributing Guide
  • The title of this issue follows the location for request: brief description of request format, e.g. Exercises: Add exercise on XYZ

The following checkbox is OPTIONAL:

  • I would like to be assigned this issue to work on it

In 15a_binary_game_spec there is an explanation for why methods called from a game script method should be public and tested. The phrase used for this is 'publicly tested'. Someone asked about this on discord recently which reminded me I also didn't understand it when going through the exercises.

The wording is:

# full game. Since these methods are required to play the game, they should be
# publicly tested methods (even if you previously made them private). Pretend
# that someone will be using your class to make their own game with customized
# text. Any method that they would need in their game should be a publicly
# tested method.

I think it could be more explicit:

# full game. Since these methods are required to play the game, they should be
# tested and made public (even if you previously made them private). Pretend
# that someone will be using your class to make their own game with customized
# text. Any method that they would need in their game should be part of the
# public interface and have test coverage.

I hope I got that right, this is how I understand it now after finishing the ruby section.

There's one more mention of publicly tested on line 78, but I think that one could be left in. That way people have a detailed explanation but are still exposed to different wordings.

link to the discord discussion:
https://discordapp.com/channels/505093832157691914/704694487477387344/1019657256507281468

I could get behind these proposed changes. Would you be willing to make the PR @hykare ?

@rlmoser99 sorry I missed the ping! Yes, absolutely.