44
votes
Accepted
Calculate mean, median, and mode in Rust
Learn to love rustfmt. For example, the Rust standard is 4-space indents.
Learn to love Clippy, which can show you the more idiomatic way to iterate over a collection:
...
23
votes
Accepted
Web crawler in Rust
Cargo Fmt
There's a very common tool accessible through cargo which can format all of the code in your project according to Rust's official style guide. Many major ...
16
votes
Accepted
Shoe shine shop model in Rust
Correctness of the solution
On reflection, I'm not sure either the C++ or the Rust code solves the problem as stated. I'm not completely sure I understand the shoe shine shop model so I may be wrong. ...
15
votes
Accepted
Fahrenheit and Celsius converter in Rust
The first thing I always do is running clippy.
You will catch some things that are not neccessary, e.g.
fn main() -> () can ...
14
votes
Calculating the median and mode of a list of integers
Your Code Is Buggy. Test It!
Try this testcase:
assert_eq!(exercise_median_of_vector(&mut Vec::from([1])), 1);
Always write test cases for your code!
In a ...
13
votes
Accepted
12
votes
Accepted
12
votes
Builder pattern in Rust
Ownership
Builder should return an instance, not a reference to it, and be consumed during build call. This is semantically correct: builder is a one-off logic ...
11
votes
Accepted
Pig Latin exercise in Rust
For overall issues, these jump out:
s[i].is_alphabetic() && i < s.len() can panic, because you access the value before checking the length, it would have ...
11
votes
Accepted
n-th Fibonacci number with memoization
I like this. Your code is clean and pretty readable. I recommend using rustfmt, if only because it will stop annoying people on the internet from recommending you ...
10
votes
Rust Brainfuck interpreter
Profile
You can only improve what you can measure. So first of all let us run callgrind to check where we spent most of our time:
...
10
votes
Accepted
Recursive Fibonacci in Rust with memoization
There's no reason to ascribe a type to memo.
Don't expose the memoization logic outside the call. Instead, create a shim function that creates the memoization ...
10
votes
Shoe shine shop model in Rust
Forgive me, I am unable to review the rust code because I do not know rust, I am only reviewing the c++ code..
Use System Defined Exit Codes
Returning -1 as an ...
10
votes
Accepted
Number-guessing game based on Rust tutorial
Welcome to Rust!
Code Formatting
There are some inconsistencies in your formatting — I have run
cargo fmt to get rid of them.
Naming
There's no need to prefix ...
10
votes
Accepted
piglatin exercise in rust
Not a bad start. Some ways it could be improved:
Use &str for String Slices
Currently, you cannot call ...
9
votes
Accepted
Check whether an integer's leftmost bits are ones in Rust
The problem is that have the feeling that there must be a much simple solution to this problem.
You're right! Integers in Rust have many useful bitwise operations (as well as other useful ones like ...
9
votes
Accepted
Rust: exercise of employees and names
To start, I have some general tips. Run your code through rustfmt to get consistent formatting and make code easier to read. Run your code through clippy to get tips on common mistakes (clippy had ...
9
votes
Rust Torrent Parser
For deserialization, its a lost easier if you use serde. Then you can do something like this:
...
9
votes
Temperature Scale Converter in Rust
This looks like a pretty good first effort, but there are definitely some stylistic issues here as well as a few more advanced features that would make this a lot better. Getting started with the ...
9
votes
Accepted
Beginner Rust Todo app
Use cargo clippy to find common mistakes:
Redundant trim
In input.trim().split_whitespace() ...
8
votes
Accepted
MergeSort in Rust
Disclaimer: I'm also new to Rust, but I have a background in C, C++ and Haskell. Take everything I say with a grain of salt.
All of that looks reasonable, except for the ...
8
votes
Accepted
Alphabet cypher in Rust
Disclaimer: I'm a Rust beginner with a background in C and C++. Now that I've lost my credibility, let's have a look at your code.
Use rustfmt, clippy and rustc
There are (at least) three helpful ...
8
votes
Accepted
Dijkstra's algorithm in Rust
Pay attention to compiler warnings. Rust is a statically-compiled language. One of the big reasons you choose such a language is to get information at compile time:
...
8
votes
Writing slice compare in a more compact way
I take the idea to return an Ordering from the other answer:
...
8
votes
Accepted
Solution to the Rustlings from_into exercise
Congratulations on your Rustlings challenge. Your code seems fine and is easy to understand, however, as you said yourself, some parts of it don't seem idiomatic yet.
However, before I begin this ...
8
votes
Idiomatic use of `Option` and `unwrap` in mean, median and mode Rust program for Chapter 8 of The Book
Good job in separating what you did into self-contained functions. Some comments on design and style:
First things first: always run Clippy! (cargo clippy) Its ...
8
votes
Accepted
Rust Simple Stats Program
io::stdin().read_line(&mut num);
Here you are ignoring the Result from read_line; you ...
8
votes
Binary adder implemented in Rust
Because you're only working with ascii 0 and 1 you could use bytes instead of characters everywhere, it saves 3 bytes for every ...
8
votes
Accepted
Merge Sorted Array in Rust
A lot of room for improvement here! :)
For the i as usize issue, the general principle is: whenever if you have variables indexing into an array, make them ...
8
votes
Temperature unit conversion in Rust
Use cargo fmt
or rustfmt to format your code. Then use clippy to lint it.
Many IDEs allow ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
rust × 882beginner × 209
performance × 70
algorithm × 53
programming-challenge × 47
parsing × 35
strings × 26
primes × 23
iterator × 22
reinventing-the-wheel × 21
multithreading × 19
file × 16
game × 14
error-handling × 14
file-system × 14
sorting × 13
linked-list × 13
tree × 13
console × 13
sieve-of-eratosthenes × 13
generics × 12
vectors × 12
cryptography × 11
recursion × 10
comparative-review × 10