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
0
710
駆け出しエンジニア時代に書いた クソコードをリファクタしてみた
Kana Haebaru
August 25, 2021
Tweet
Share
More Decks by Kana Haebaru
See All by Kana Haebaru
そろそろ本格的にはじめたい生成AIアプリ開発
kanasann1106
0
18
おさえておきたい!LLM アプリケーション開発の基礎とLangChain/LangGraph の概要解説
kanasann1106
0
12
開発以外の業務も、Cursor で効率化できる?
kanasann1106
0
94
生成AI活用機能のプロンプト設計と開発の裏側
kanasann1106
0
300
バイアスを越えて、自分らしいエンジニアキャリアを見つける
kanasann1106
0
180
OpenAIとLangChainを活用して ジェンダーバイアス解消ツールを作った話
kanasann1106
0
40
Supabase × GASでサクッと作る!社内向け管理画面の作成法
kanasann1106
0
710
いいプロダクトを作りたい!の想いで動いていた結果 テックリードになっていた話
kanasann1106
0
90
フロントエンドエンジニアがLaravelでテストコードを書いてみた
kanasann1106
0
850
Other Decks in Programming
See All in Programming
「接続」—パフォーマンスチューニングの最後の一手 〜点と点を結ぶ、その一瞬のために〜
kentaroutakeda
3
990
米国のサイバーセキュリティタイムラインと見る Goの暗号パッケージの進化
tomtwinkle
2
610
エンジニアの「手元の自動化」を加速するn8n 2026.02.27
symy2co
0
160
SourceGeneratorのマーカー属性問題について
htkym
0
200
Kubernetesでセルフホストが簡単なNewSQLを求めて / Seeking a NewSQL Database That's Simple to Self-Host on Kubernetes
nnaka2992
0
160
AI 開発合宿を通して得た学び
niftycorp
PRO
0
150
クライアントワークでSREをするということ。あるいは事業会社におけるSREと同じこと・違うこと
nnaka2992
1
350
20260313 - Grafana & Friends Taipei #1 - Kubernetes v1.36 的開發雜記:那些困在 Alpha 加護病房太久的 Metrics
tico88612
0
220
コードレビューをしない選択 #でぃーぷらすトウキョウ
kajitack
3
1k
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
350
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
160
Migration to Signals, Signal Forms, Resource API, and NgRx Signal Store @Angular Days 03/2026 Munich
manfredsteyer
PRO
0
100
Featured
See All Featured
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
300
Agile that works and the tools we love
rasmusluckow
331
21k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
400
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
320
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Rails Girls Zürich Keynote
gr2m
96
14k
Between Models and Reality
mayunak
2
240
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
110
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⽂の乱⽴(ネスト) アーリーリターン、数珠つなぎ条件、メソッドに分ける まとめ
ご静聴ありがとうございました! おしまい