Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
駆け出しエンジニア時代に書いた クソコードをリファクタしてみた
Search
Kana Haebaru
August 25, 2021
Programming
720
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
駆け出しエンジニア時代に書いた クソコードをリファクタしてみた
Kana Haebaru
August 25, 2021
More Decks by Kana Haebaru
See All by Kana Haebaru
技術だけじゃ足りなくなった日 ~エンジニアがFDE的に越境して見えたこと~
kanasann1106
0
33
そろそろ本格的にはじめたい生成AIアプリ開発
kanasann1106
0
27
おさえておきたい!LLM アプリケーション開発の基礎とLangChain/LangGraph の概要解説
kanasann1106
0
26
開発以外の業務も、Cursor で効率化できる?
kanasann1106
0
110
生成AI活用機能のプロンプト設計と開発の裏側
kanasann1106
0
330
バイアスを越えて、自分らしいエンジニアキャリアを見つける
kanasann1106
0
180
OpenAIとLangChainを活用して ジェンダーバイアス解消ツールを作った話
kanasann1106
0
47
Supabase × GASでサクッと作る!社内向け管理画面の作成法
kanasann1106
0
870
いいプロダクトを作りたい!の想いで動いていた結果 テックリードになっていた話
kanasann1106
0
97
Other Decks in Programming
See All in Programming
言語を使う側から、作る側へ。 自作 Lisp で得た新たな気づき。
andpad
0
120
地域 SRE コミュニティ最前線 - ホンマでっかSRE勉強会
tk3fftk
0
230
エンジニアにデザインハーネスを 〜デザインプロセスを規定するためのハーネス〜 / Design harness from an engineer's perspective
rkaga
2
1.4k
symfony/aiとlaravel/boost
77web
0
130
えっ!!コードを読まずに開発を!?
hananouchi
0
200
初めてのKubernetes 本番運用でハマった話
oku053
0
120
なぜ型を書くのか? TSKaigi2026で改めて考える #tskaigi_smarthr
kajitack
0
360
トークンをケチるな、設計しろ:GitHub Copilotを賢く使うコンテキスト戦略
ochtum
0
320
act1-costs.pdf
sumedhbala
0
230
コーディングルールの鮮度を保ちたい for SRE NEXT 2026 / keep-fresh-go-internal-conventions-sre-next-2026
handlename
0
140
AI時代、エンジニアはどう育つのか -未経験エンジニアの成長を間近で見て考えたこと-
thasu0123
0
110
Even G2とAWSで推しのエージェントを召喚しよう!
har1101
1
170
Featured
See All Featured
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
390
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
240
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.7k
From π to Pie charts
rasagy
0
230
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.4k
4 Signs Your Business is Dying
shpigford
187
22k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.4k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
260
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
390
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Ruling the World: When Life Gets Gamed
codingconduct
0
280
Transcript
駆け出しエンジニア時代に書いた クソコードをリファクタしてみた 2021/08/25LaravelMeetUpOkinawa第11回
アジェンダ ⾃⼰紹介 本編 まとめ
南⾵原⾹奈(Kana) @kanasann1106 与那国島→⽯垣島→沖縄本島→東京 株式会社フォトラクションのエンジニア フロントよりのエンジニア なのでLaravelあまり書かない汗 ⾃⼰紹介
ちょっとだけ の Laravel 建設Tech フルリモート可 SaaS開発
本題 駆け出しエンジニアの時に書いたコードを振り返る(初⼼にかえる) 初学者へ、こういう書き⽅はよろしくないよと伝えたい 経験者へ、過去にこういう書き⽅したなとか懐かしんでもらえたらw
Modelの活⽤ 作成・更新の処理のたびに毎回この書き⽅だと⼤変
Modelの活⽤ Quizクラス Quiz作成(コントローラー)
メソッドめっちゃ⻑すぎ 140⾏くらいある ⾒通しが悪い ロジックも全てコントローラーに書いてしまっ ている
中⾝どうなってる? A B C A:期間単位のグラフデータ B:割合のグラフデータ C:総数のグラフデータ グラフのタイプ別にデータを取得
ロジックは別ファイルに切り出す
ハードコーディングはNG 定数にする 定数にする 1ってなに? 1ってなに?
if⽂の乱⽴① if⽂のネストが深くなると可読性が下がる 脳内メモリに保っておくべき情報が増える
if⽂の乱⽴② アーリーリターン 数珠つなぎの条件 メソッドに分ける if⽂のネストを防ぐ⽅法
コントローラーのロジックは外に切り出す Modelを活⽤ ハードコーディング 定数にする if⽂の乱⽴(ネスト) アーリーリターン、数珠つなぎ条件、メソッドに分ける まとめ
ご静聴ありがとうございました! おしまい