From 3627f542a10076cdb1e3ec27572560f78bd20fda Mon Sep 17 00:00:00 2001 From: Gabriel Mathias Date: Thu, 12 Sep 2024 19:26:40 -0300 Subject: [PATCH] updating mentoring.md with further instructions and orientations. --- .../beer-song/beer-song/mentoring.md | 31 +++++++++++++++++-- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/tracks/csharp/exercises/beer-song/beer-song/mentoring.md b/tracks/csharp/exercises/beer-song/beer-song/mentoring.md index 5a4b78376..13edb1b76 100644 --- a/tracks/csharp/exercises/beer-song/beer-song/mentoring.md +++ b/tracks/csharp/exercises/beer-song/beer-song/mentoring.md @@ -1,10 +1,35 @@ ## Mentoring -The student would normally go first using the if/else and if/else if statements. -Suggesting the use of case statements first will be optimal and instructive. + +The student would normally go first using the if/else and if/else if statements. That's not wrong, +but the idea is guide him to an approach that will improve the readability and conciseness of the code. +Suggesting the use of case statements first will be optimal and instructive, since the number of cases +are bigger than a simple if/else. +When doing this, you can reference the learning material for the switch and highlight the usability of it. Learning material: [Switch statements ](https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/statements/selection-statements) +It's important to check if the student is also using clear names for the variables. + +The verse string in the exercise is huge and it seems to repeat in every sentence, but as the exercise +explains, it's not always equal and that's why we have more than just one or two cases for it. +With large strings inside the code, instructing the student to break them improves the readability. + +Uncle Bob from the "Clean Code" Book recommends that every line should not contain more than 120 characters. +This can be challenging sometimes, but it's worthy. So in the exemplar solution we format the string +using concatenation. +```csharp +verse += "No more bottles of beer on the wall, no more bottles of beer.\n" + + "Go to the store and buy some more, 99 bottles of beer on the wall."; +``` +Show to the student the importance of formatting the code. It helps a lot with the comprehension +and when they went back to check older code, they won't be so confused with their own code. +Programmers spend more time reading than writing code. + +If they still feel confused about formatting, this article dive deeper into it. +[Clean Code - Formatting](https://dev.to/caiocesar/clean-code-in-c-part-4-formatting-1b1h) + ## The Exemplar Solution -Try and guide the student towards this solution. +Guide the student towards a solution closer to this. + ```csharp public static class BeerSong {