Yesterday I had the first live code-reading event. I attempted to understand how the "thousands" crate works. 🦀 It can commafy a number converting a number such as 1234567 into a string like this "1,234,567" to make it more readable.
This is part of the Rust Maven live events series. During this event went over the implementation of this crate.
A couple of observations, and let me emphasize, this is not a (negative) critique of the crate or the author.
🦀 If there are tests, starting from them can help understanding the flow of the code. Unfortunately in some cases the tests themselves are a bit too complex. (This was not such case.)
🦀 If there is a nice and simple example of how to use the crate, we can start from that code trying to explore the implementation.
🦀 We could observe (or rather guess) the evolution of the crate from specific solution (dealing with digits) to more generic solution (dealing with any set of characters). Some variable/function/etc. names were using the generic vocabulary, some other were still in the original way talking about digits.
🦀 There are multiple ways to define type-constraints (e.g. immediately after the type-name or in a "where"-clause. Mixing them can confuse Gabor. (Maybe others as well. )
🦀 The audience in such code-reading can help.
🦀 One hour was not enough even for such small crate and even after I already invested some time trying to understand it.
🦀 Watch the recordings here
🦀 If you are interested in earlier (and future) live events check them out here.
Top comments (0)