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?

リーダブルコード(第8章)の学び

Posted at

はじめに

昨日に続き、今日も学習時間がほとんど取れなかった。
他の予定があったとはいえ、時間を確保しようと思えばできたはずで、そこは自分に甘えがあったと感じる。

とはいえ、「何かひとつでも学んで1日を終える」というスタンスを大切にしたい。
今日は、リーダブルコードの第8章の冒頭だけを読み、その中で得た学びを整理してみる。

要約変数とは?

第8章の鍵となる考え方は、

「巨大な式は飲み込みやすい大きさに分割する」

というものだった。
ただし、巨大な式でなくとも「要約」のために変数を使うというアプローチが紹介されており、非常に参考になった。

具体例

たとえば、以下のようなコードがあるとする。

if (request.user.id == document.owner_id) {
    // ユーザーはこの文書を編集できる
}

この式はそれほど長くはないが、「request」「user」「id」「document」「owner_id」といった5つの要素が関係しており、少しだけ読むのに時間がかかる。

ここで、「要約変数」を使って次のように書き換える。

final boolean user_owns_document = (request.user.id == document.owner_id);

if (user_owns_document) {
    // ユーザーはこの文書を編集できる
}

このように変数に意味を持たせることで、条件の意図がより明確になる。

おわりに

今回学んだ「要約変数」という考え方は、今まであまり意識したことがなかった。
短い式でも、他人が読みやすくなるような変数名を使って要約することで、コードの可読性が上がることを実感できた。

今後、自分のコードでも積極的に取り入れていきたい。

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?