idiomatic-rust/README.md
Matthias Endler 1f406102e3
Update HP
2020-01-08 09:41:56 +01:00

8.6 KiB

Logo

Build Status - Check Links

This repository collects resources for writing clean, idiomatic Rust code. Please bring your own. 😊

Idiomatic coding means following the conventions of a given language. It is the most concise, convenient, and common way of accomplishing a task in that language, rather than forcing it to work in a way the author is familiar with from a different language. - Adapted from Tim Mansfield

Projects

  • Rust Anthology - The best short-form writing about Rust, collected.
  • cheat.rs - Idiomatic Rust tips - A list of quick tips to make your code more idiomatic.
  • clippy - A bunch of lints to catch common mistakes and improve your Rust code.
  • Patterns - A catalogue of Rust design patterns.
  • Rust by Example - A community driven collection of example code which follow Rust best practices.
  • Rust Cookbook - Examples that demonstrate good practices to accomplish common programming tasks in Rust.
  • rust-api-guidelines - An extensive list of recommendations for idiomatic Rust APIs.

Articles and Books

2019

  • Await a minute by David Tolnay - Example code for moving from raw futures to async/await syntax to improve error handling, native control flow, and borrowing.

2018

2017

2016

2015

Talks

2018

Idiomatic Rust - Writing Concise and Elegant Rust Code [Video] [Slides] by @mre - FOSDEM 2018

2017

Idiomatic Rust Libraries [Video] [Slides] by @killercup - Rustfest Kiev
What's so hard about writing a Slack Client in Rust? [Video] [Slides] by @mre - Rust Cologne Meetup

Forum

2017

History

Coming from Python I loved to have some guidelines on how "idiomatic Python" looks like. I was inspired by the likes of Peter Norvig, who wrote amazing articles on spellcheckers and sudoku solvers. And, of course, the Zen of Python.

The goal of this project is to create a peer-reviewed collection of articles/talks/repos which teach idiomatic Rust style. It's a community project. If this becomes a thing I plan to move it to some "semi-official" place like rust-nursery or so. But first I need YOUR help for that ;-)

License

CC0

To the extent possible under law, Matthias Endler has waived all copyright and related or neighboring rights to this work. Logo adapted from FreePik.com.