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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Kana Haebaru
August 25, 2021
Programming
710
0
Share
駆け出しエンジニア時代に書いた クソコードをリファクタしてみた
Kana Haebaru
August 25, 2021
More Decks by Kana Haebaru
See All by Kana Haebaru
そろそろ本格的にはじめたい生成AIアプリ開発
kanasann1106
0
18
おさえておきたい!LLM アプリケーション開発の基礎とLangChain/LangGraph の概要解説
kanasann1106
0
13
開発以外の業務も、Cursor で効率化できる?
kanasann1106
0
97
生成AI活用機能のプロンプト設計と開発の裏側
kanasann1106
0
300
バイアスを越えて、自分らしいエンジニアキャリアを見つける
kanasann1106
0
180
OpenAIとLangChainを活用して ジェンダーバイアス解消ツールを作った話
kanasann1106
0
42
Supabase × GASでサクッと作る!社内向け管理画面の作成法
kanasann1106
0
730
いいプロダクトを作りたい!の想いで動いていた結果 テックリードになっていた話
kanasann1106
0
91
フロントエンドエンジニアがLaravelでテストコードを書いてみた
kanasann1106
0
850
Other Decks in Programming
See All in Programming
Vibe하게 만드는 Flutter GenUI App With ADK , 박제창, BWAI Incheon 2026
itsmedreamwalker
0
540
仕様漏れ実装漏れをなくすトレーサビリティAI基盤のご紹介
orgachem
PRO
9
5.1k
ローカルで稼働するAI エージェントを超えて / beyond-local-ai-agents
gawa
2
260
夢の無限スパゲッティ製造機 -実装篇- #phpstudy
o0h
PRO
0
200
CDK Deployのための ”反響定位”
watany
1
530
「接続」—パフォーマンスチューニングの最後の一手 〜点と点を結ぶ、その一瞬のために〜
kentaroutakeda
5
2.5k
Running Swift without an OS
kishikawakatsumi
0
690
Xdebug と IDE による デバッグ実行の仕組みを見る / Exploring-How-Debugging-Works-with-Xdebug-and-an-IDE
shin1x1
0
350
Don't Prompt Harder, Structure Better
kitasuke
0
630
20260320登壇資料
pharct
0
170
今年もTECHSCOREブログを書き続けます!
hiraoku101
0
230
Nuxt Server Components
wattanx
0
260
Featured
See All Featured
SEO for Brand Visibility & Recognition
aleyda
0
4.4k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2k
From π to Pie charts
rasagy
0
160
Designing for Timeless Needs
cassininazir
0
190
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
680
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
510
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
130
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.7k
Speed Design
sergeychernyshev
33
1.6k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
How to Talk to Developers About Accessibility
jct
2
170
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⽂の乱⽴(ネスト) アーリーリターン、数珠つなぎ条件、メソッドに分ける まとめ
ご静聴ありがとうございました! おしまい