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
そろそろ本格的にはじめたい生成AIアプリ開発
kanasann1106
0
10
おさえておきたい!LLM アプリケーション開発の基礎とLangChain/LangGraph の概要解説
kanasann1106
0
6
開発以外の業務も、Cursor で効率化できる?
kanasann1106
0
86
生成AI活用機能のプロンプト設計と開発の裏側
kanasann1106
0
270
バイアスを越えて、自分らしいエンジニアキャリアを見つける
kanasann1106
0
170
OpenAIとLangChainを活用して ジェンダーバイアス解消ツールを作った話
kanasann1106
0
33
Supabase × GASでサクッと作る!社内向け管理画面の作成法
kanasann1106
0
520
いいプロダクトを作りたい!の想いで動いていた結果 テックリードになっていた話
kanasann1106
0
87
フロントエンドエンジニアがLaravelでテストコードを書いてみた
kanasann1106
0
830
Other Decks in Programming
See All in Programming
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
0
280
クラウドに依存しないS3を使った開発術
simesaba80
0
220
C-Shared Buildで突破するAI Agent バックテストの壁
po3rin
0
430
メルカリのリーダビリティチームが取り組む、AI時代のスケーラブルな品質文化
cloverrose
2
450
AI前提で考えるiOSアプリのモダナイズ設計
yuukiw00w
0
210
Basic Architectures
denyspoltorak
0
160
AtCoder Conference 2025「LLM時代のAHC」
imjk
2
640
大規模Cloud Native環境におけるFalcoの運用
owlinux1000
0
240
DevFest Android in Korea 2025 - 개발자 커뮤니티를 통해 얻는 가치
wisemuji
0
180
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
640
LLM Çağında Backend Olmak: 10 Milyon Prompt'u Milisaniyede Sorgulamak
selcukusta
0
140
PC-6001でPSG曲を鳴らすまでを全部NetBSD上の Makefile に押し込んでみた / osc2025hiroshima
tsutsui
0
200
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
100
6k
sira's awesome portfolio website redesign presentation
elsirapls
0
110
How to Talk to Developers About Accessibility
jct
1
94
Measuring & Analyzing Core Web Vitals
bluesmoon
9
720
Building a Scalable Design System with Sketch
lauravandoore
463
34k
エンジニアに許された特別な時間の終わり
watany
106
220k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
How to train your dragon (web standard)
notwaldorf
97
6.5k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Faster Mobile Websites
deanohume
310
31k
New Earth Scene 8
popppiees
0
1.3k
Claude Code のすすめ
schroneko
67
210k
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⽂の乱⽴(ネスト) アーリーリターン、数珠つなぎ条件、メソッドに分ける まとめ
ご静聴ありがとうございました! おしまい