0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Effective-Rustlings-jp】Day 19:Clippyに耳を傾けよう

Last updated at Posted at 2025-01-26

はじめに

こんにちは。細々とプログラミングをしているsotanengelです。
この記事は以下の記事の連載です。

他の連載記事 (詳細)

また本記事はEffective Rust(David Drysdale (著), 中田 秀基 (翻訳))を参考に作成されております。とてもいい書籍ですので興味を持った方は、ぜひ読んでみてください!

今日の内容

概要

RustにはClippyというCargoの追加コンポーネントが存在します。
このコンポーネントを使うことで安全で可読性の高いコード開発が可能となります。

使わない変数名

問(リンク)

使わない変数は命名によってはClippyで警告が出ます。
修正してみましょう。

コード (詳細)
fn main() {
    // TODO: 使わない変数の記載方法を確認して、以下のコードを修正してください。
    let unused_var = 42;
    println!("Hello, world!");
}

解答(リンク)

コード参照。

コード (詳細)
fn main() {
    let _unused_var = 42; // 変数を使わない場合はアンダースコアで始める
    println!("Hello, world!");
}

無駄なクローン

問(リンク)

無駄なクローンはClippyで警告が出ます。
修正してみましょう。

コード (詳細)
fn main() {
    let x = 5;
    // TODO: 以下は不要なクローンです。修正してください。
    let y = x.clone();
    println!("{}", y);
}

解答(リンク)

コード参照。

コード (詳細)
fn main() {
    let x = 5;
    let y = x; // クローン不要
    println!("{}", y);
}

非効率な結合

問(リンク)

文字列の非効率な結合はClippyで警告が出ます。
修正してみましょう。

コード (詳細)
fn main() {
    // TODO: 非効率的な文字列結合を修正してください。
    let s = "Hello".to_string() + " " + &"world!".to_string();
    println!("{}", s);
}

解答(リンク)

コード参照。

コード (詳細)
fn main() {
    let s = format!("{} {}", "Hello", "world!"); // `format!`を使用して効率的に結合
    println!("{}", s);
}

さいごに

もしも本リポジトリで不備などあれば、リポジトリのissueやPRなどでご指摘いただければと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?