I see the following issues with the tournament exercise:
- At first I had no idea what the columns supposed to mean
| MP | W | D | L | P. OK, I'm kind of ignorant about sports and I made an educated guess that the W is for Win and L is Loss but still it baffled me at first.
- No mention of a win worth 3 points, a draw 1 and a loss 0. I had to reverse engineer this from the test outputs. Again this could be do to my ignorance towards sports, maybe this is a common scoring system, but I believe exercism puzzles should be self-contained.
- the file formats are not explained:
- the input format can contain comments, lines starting with
#
- what is a valid line?
- should I expect invalid lines?
- if the input line
team1;team2;win does it mean team1 or team2 won?
- Why should the
tally function return the number of parsed lines? What purpose does it serve? Why does it need a return value at all? I think the author intended the use of Result but it is not expressed anywhere and because tests use unwrap the Optional type can also be used.
And another issue, thinking about the "big picture": this exercise requires reading files, parsing them and writing data to files. I think smaller exercises with only reading and only writing files should precede this one.
I see the following issues with the tournament exercise:
| MP | W | D | L | P. OK, I'm kind of ignorant about sports and I made an educated guess that the W is for Win and L is Loss but still it baffled me at first.#team1;team2;windoes it mean team1 or team2 won?tallyfunction return the number of parsed lines? What purpose does it serve? Why does it need a return value at all? I think the author intended the use ofResultbut it is not expressed anywhere and because tests useunwraptheOptionaltype can also be used.And another issue, thinking about the "big picture": this exercise requires reading files, parsing them and writing data to files. I think smaller exercises with only reading and only writing files should precede this one.