Self-learning Rust way with Clippy.

Self-learning Rust way with Clippy.

I will introduce you how to learn Rust way coding style.
Clippy(https://github.com/rust-lang/rust-clippy) is a useful and kindful linter.

The LT took place on October 20, 2020 at Shinjuku.rs # 12 (https://forcia.connpass.com/event/187287/).

F0493f5bcb4cc9fdccc54ae3e8ab6bd0?s=128

Kentaro Matsumoto

October 20, 2020
Tweet

Transcript

  1. Clippyを使ってRustを独習しよう
 @matsu7874
 2020.10.20 Shinjuku.rs #12


  2. 自己紹介 • 松本健太郎 (Kentaro MATSUMOTO) @matsu7874 • ソフトウェアエンジニア@フォルシア株式会社 ◦ Rustでインメモリデータベースを開発

    ◦ インターンの企画とか技術広報とか • 興味 ◦ Webアプリケーション ◦ 技術広報・エンジニア採用 ◦ 競技プログラミング 2
  3. 『実践Rustプログラミング入門』 共著 • 8月22日発売 ¥3,600(税別) 秀和システム • 360/508ページくらい実践的な内容 ◦ Webアプリ ◦

    WebAssembly ◦ GUI ◦ 組み込み ◦ プロダクションで使う話など • Shinjuku.rsで知り合ったエンジニアで共著 3
  4. 目次 • Rustを一人で学ぶときの壁 • Clippyとは • 好きなルール紹介 4

  5. Rustを一人で学ぶときの壁 • 言語特有の概念が分からん ◦ The Bookを読め • 文法の使い方が分からん ◦ Rust

    By Exampleを読め • Rustっぽい書き方が分からん ◦ Clippyに直してもらおう! 5
  6. Clippyとは • Rust用のLinter ◦ 400を超えるルールが実装済み ◦           など個別に警告レベルを設定可能 ◦ 開発が活発     

    6 #![allow(clippy::ルール名)]
  7. Clippyの導入 $ rustup update
 $ rustup component add clippy
 


    $ cargo clippy
 
 7
  8. Clippyの動作例 8

  9. 9

  10. 好きなルール紹介 10

  11. chars_next_cmp 11

  12. if_let_some_result 12

  13. map_entry 13 場合によるので
 計測が必要!

  14. slow_vector_initialization 14

  15. Clippyを使って Rustらしいコードを書こう 15