RAKUS Developers Blog | ラクス エンジニアブログ

株式会社ラクスのITエンジニアによる技術ブログです。

可読性の高いコードやリファクタリングとは?【リーダブルコード Tips 10選】

f:id:tech-rakus:20220315152011p:plain

技術広報のyayawowoです。

「この分かりにくいコード誰が書いたんだ?」
「あ、3年前の自分じゃないか…」

といった経験はないでしょうか?

今回は、システム開発をする上で大切な可読性の高いコードやリファクタリングをテーマにした、
ラクスが主催する「「リーダブルコード LT会」について発表内容と発表資料をまとめて紹介します!

イベント詳細はこちらをご確認ください!
リーダブルコード LT会
リーダブルコード LT会 - vol.2
 
次回は、3/24(木)開催予定です!
rakus.connpass.com

リーダブルコード Tips 10選

賛同者が集まらない俺流『リーダブルコード』

発表者:白柳隆司さん
speakerdeck.com

◆ 発表内容
・何故リーダブルにするか
 →後で読んだときに脳みそを使いたくない
・リーダブルのレベルを独自に決める
・コードにすべてを書く必要はない
・コードに書くべきもの
 1. ドキュメント化できるIFコメント
 2. 曖昧なものを明確化するための手がかり
 3. 忘れるもの、間違えやすいもの
・リーダブルに正解はない!

翻訳した英単語をそのまま 使うのは今日で終わりにしよう!

発表者:mikaijunさん
speakerdeck.com

◆ 発表内容
・リーダブルコードのテクニック
 1. 明確な単語を選ぶ
 2. 汎用的な名前は避ける
 3. 誤解されやすい名前は避ける
・わかりやすい関数名を作るには?
 🙅 翻訳した英単語をそのまま突っ込む
 🙆 誰もが知っている単語を組み合わせる

可音読性と可黙読性

発表者:joytomoさん

speakerdeck.com

◆ 発表内容
・可読性には可音読性と可黙読性がある
・どちらを重視するかは言語などで異なる
・その先に、リーダブルでビューティフルなコードがある
・美しさは論証できない

静的解析ではじめる負債コード解消

発表者:mushacabbageさん
speakerdeck.com

◆ 発表内容
・Inspectionを活用
 活用事例)未使用の変数や関数を検知、コメントがない関数を検知など…
・自分たちで強いルールを作ることで負債コードが放置されるのを防ぐよう工夫
・PhpStormだけでも多様な静的解析ができる
・カスタマイズが可能なのでチーム特有のチェックができる

リーダブルなPHPDocを目指して

発表者:masato_nさん
speakerdeck.com

◆ 発表内容
・無法地帯となっていたPHPDocをメンテナンスした話
・何故メンテナンスしようと思ったのか
 1. チームメンバーの入れ替わりで経験則でカバーできなくなってきた
 2. 生産性を上げるために、無駄な時間を使いたくなった
 3. 役に立っていないPHPDocが勿体ない
・メンテナンス方法と効果と所感
・サボらずPHPDocをメンテしましょう!
 
・PHPDocの書き方は以下をご参考ください!
 tech-blog.rakus.co.jp

Code SmellsのPrimitive Obsessionに気を付けて設計する

発表者:きり丸@ないないさん

speakerdeck.com

◆ 発表内容
・良いコードとは?
 →良いコードとは悪くないコード
 →悪くないコードにするには、Code Smellsに気を付けたらいい
・例)年度、ISBN、山札/手札/場札
・コードに業務知識を表現させると可読性が上がる

若手が可読性を上げるために気を付けたこと

発表者:gr_risaさん
speakerdeck.com

◆ 発表内容
可読性を良くするためにもらった指摘のコメントランキング
 1. 冗長です
  ・自分一人しか見ないコードはコメントを適当に書いていた
  ・コメント要否の判断の重要性
 2. 名前が分かりにくい
  たかが命名、されど命名
   ・接頭辞を使う
   ・具体的な名前を使う
 3. コメントが(不要です/必要です)
  何日か後の自分は他人です
   ・何日か後の自分が読みにくいコードが、他人に読めるはずがない
   ・ネストが深いコードは読みにくい

全てのコードに意図を持たせよう

発表者:Nozomu Otsukaさん
speakerdeck.com

◆ 発表内容
・リーダブルではないコードとは?
・どうしたらコードに一貫性が出るのか?
・初心者のうちは既存のルールに従う
・他の人の「意図」を学ぶ
 →他の人の「意図」を考えることで、自分のコードも良くなっていく

チームでリーダブルコードを実現するには?

発表者:MxShunさん
speakerdeck.com

◆ 発表内容
・私たちがやったことの良かったこと/良くなかったこと
 1. 勉強会
 2. PR公開レビュー
 3. PR指摘事項共有

リーダブルコード by DDD モデリングを起点に可読性の高いコードを実現する

発表者:Yoshiki Iidaさん
speakerdeck.com

◆ 発表内容
変更しやすいシステムの特徴
・リーダブルであること
 →実装を理解しやすいこと
 →実装の目的を理解しやすいこと
実装アプローチ
ドメインモデリングは実装の目的理解にダイレクトに有効
・責務を理解し、テスト・リファクタを回していくことで結果的にリーダブルになっていく
・参照実装などを充実させることでチーム開発がより効率化

『リーダブルコード LT会 - vol.3』は3/24(木)19時開催

リーダブルコードをテーマにしたLT会の3回目が3/24(木)に開催します。
LT登壇は9枠埋まっており、

  • チームでレビューガイドラインを導入した話や
  • オブジェクト脳への一歩
  • リーダブルコード輪読会をオススメします

などの発表テーマを予定しております。
※発表内容が変更となる可能性がありますので、ご了承ください。

ご興味ありましたら、connpass又はTECH PLAYから参加申込のほどよろしくお願いいたします!
rakus.connpass.com
techplay.jp

ラクスのエンジニアと話をしてみたい方へ

ラクスでは、フロントエンドエンジニアだけでなく幅広い職種で採用を強化しております。
とはいえ、まだ応募する段階ではないという方にはカジュアル面談をご案内しております!

【こんな方におすすめ】

  • ポジションが経験にマッチするか確認したい
  • 働き方/環境・体制/事業・プロダクト/文化/制度を詳しく知りたい
  • 応募前に選考の概要を聞きたい(人物像、基準など)
  • エンジニア・デザイナーの人となりを知りたい

以下申込フォームとなります。
rakus.hubspotpagebuilder.com

「イベントで登壇していた●●さんとお話をしたい・・・」
などご要望がありましたらその旨をご記入の上、お申込みください!
お気軽にどうぞ 😊

最後に

リーダブルコード Tipsはいかがでしたか?
可読性の高いコードを書くためのTipsがイベントに参加するだけで、豊富に吸収することができます。
また、当日参加される視聴者と意見交換もできますので、悩みの一つが解消するチャンスかもしれませんよ!

最後になりますが、イベントを開催する側としても、参加する皆さんの一助となる情報がありましたら幸いです。
お読みいただきありがとうございました!


  • エンジニア中途採用サイト
    ラクスでは、エンジニア・デザイナーの中途採用を積極的に行っております!
    ご興味ありましたら是非ご確認をお願いします。
    20210916153018
    https://career-recruit.rakus.co.jp/career_engineer/

  • カジュアル面談お申込みフォーム
    どの職種に応募すれば良いかわからないという方は、カジュアル面談も随時行っております。
    以下フォームよりお申込みください。
    rakus.hubspotpagebuilder.com

  • イベント情報
    会社の雰囲気を知りたい方は、毎週開催しているイベントにご参加ください! rakus.connpass.com

Copyright © RAKUS Co., Ltd. All rights reserved.