Wrong mentoring notes in Elixir's Lasagna

During a mentoring session, I noticed the mentoring notes for Elixir’s Lasagna states the following points:

If a solution uses names like is_cooked and is_ready, it can be pointed out that Elixir has the following naming convention:

  • is_foo should only be used for macros that can be used in guard clauses,
  • foo? should be used otherwise.

This exercise can be solved without regular expressions and a student could be encouraged to try to do that.

  • Regular expressions are not known for their readability. String.ends_with?(input, "?") is more obvious than Regex.match?(~r/\?$/, input).
  • It is a good habit to use simple tools for simple problems and advanced tools for advanced problems.
  • Elixir developers should be familiar with the String module and the functions it offers.

Hint functions for the truly stuck

I suspect the notes are for a different exercise or outdated? I don’t see why a student would name a method like is_cooked , use regular expressions or need to use any of the string functions in this exercise (the example solution at the top of the page doesn’t even have any of those things)…

Hey. Yeah, maybe delete from “Common suggestions” downwards?

Corresponding PR: Remove suggestions from Elixir's Lasagna by kahgoh · Pull Request #2273 · exercism/website-copy · GitHub

According to the git history, the Elixir lasagna mentoring notes were added by @iHiD who doesn’t dabble in Elixir, in a commit named “Temporary film for video”. All of that makes me certain those notes were not meant to sick around for any of the Elixir mentors to actually use them.

I think the whole file should be deleted. Keeping the “reasonable solutions” there is misleading because a) the solution might get out of date with the current exemplar in the repository, b) for this reason every learning exercise shows the current exemplar solution in the “guidance” tab in the mentoring view.

1 Like