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
0
700
駆け出しエンジニア時代に書いた クソコードをリファクタしてみた
Kana Haebaru
August 25, 2021
Tweet
Share
More Decks by Kana Haebaru
See All by Kana Haebaru
開発以外の業務も、Cursor で効率化できる?
kanasann1106
0
75
生成AI活用機能のプロンプト設計と開発の裏側
kanasann1106
0
230
バイアスを越えて、自分らしいエンジニアキャリアを見つける
kanasann1106
0
160
OpenAIとLangChainを活用して ジェンダーバイアス解消ツールを作った話
kanasann1106
0
29
Supabase × GASでサクッと作る!社内向け管理画面の作成法
kanasann1106
0
290
いいプロダクトを作りたい!の想いで動いていた結果 テックリードになっていた話
kanasann1106
0
83
フロントエンドエンジニアがLaravelでテストコードを書いてみた
kanasann1106
0
810
Other Decks in Programming
See All in Programming
基礎から学ぶ大画面対応(Learning Large-Screen Support from the Ground Up)
tomoya0x00
0
1.6k
1から理解するWeb Push
dora1998
7
1.9k
Introducing ReActionView: A new ActionView-compatible ERB Engine @ Rails World 2025, Amsterdam
marcoroth
0
690
Deep Dive into Kotlin Flow
jmatsu
1
350
「手軽で便利」に潜む罠。 Popover API を WCAG 2.2の視点で安全に使うには
taitotnk
0
860
実用的なGOCACHEPROG実装をするために / golang.tokyo #40
mazrean
1
280
Reading Rails 1.0 Source Code
okuramasafumi
0
240
How Android Uses Data Structures Behind The Scenes
l2hyunwoo
0
460
Navigating Dependency Injection with Metro
zacsweers
3
990
2025 年のコーディングエージェントの現在地とエンジニアの仕事の変化について
azukiazusa1
24
12k
AIコーディングAgentとの向き合い方
eycjur
0
270
Android端末で実現するオンデバイスLLM 2025
masayukisuda
1
150
Featured
See All Featured
Balancing Empowerment & Direction
lara
3
620
Unsuck your backbone
ammeep
671
58k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Designing for Performance
lara
610
69k
Embracing the Ebb and Flow
colly
87
4.8k
Code Review Best Practice
trishagee
70
19k
Being A Developer After 40
akosma
90
590k
The Language of Interfaces
destraynor
161
25k
Documentation Writing (for coders)
carmenintech
74
5k
A Modern Web Designer's Workflow
chriscoyier
696
190k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Producing Creativity
orderedlist
PRO
347
40k
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⽂の乱⽴(ネスト) アーリーリターン、数珠つなぎ条件、メソッドに分ける まとめ
ご静聴ありがとうございました! おしまい