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
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
VueエンジニアがReactを触って感じた_設計の違い
koukimiura
0
160
Symfonyの特性(設計思想)を手軽に活かす特性(trait)
ickx
0
130
PDI: Como Alavancar Sua Carreira e Seu Negócio
marcelgsantos
0
110
安いハードウェアでVulkan
fadis
1
930
PCOVから学ぶコードカバレッジ #phpcon_odawara
o0h
PRO
0
240
飯MCP
yusukebe
0
490
ドメインイベントでビジネスロジックを解きほぐす #phpcon_odawara
kajitack
2
120
PHP でエミュレータを自作して Ubuntu を動かそう
m3m0r7
PRO
2
170
AI時代のPhpStorm最新事情 #phpcon_odawara
yusuke
0
140
[PHPerKaigi 2026]PHPerKaigi2025の企画CodeGolfが最高すぎて社内で内製して半年運営して得た内製と運営の知見
ikezoemakoto
0
340
GNU Makeの使い方 / How to use GNU Make
kaityo256
PRO
16
5.6k
アーキテクチャモダナイゼーションとは何か
nwiizo
17
4.6k
Featured
See All Featured
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.3k
The browser strikes back
jonoalderson
0
930
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
210
A better future with KSS
kneath
240
18k
Prompt Engineering for Job Search
mfonobong
0
260
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
290
The untapped power of vector embeddings
frankvandijk
2
1.7k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
240
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.4k
Building an army of robots
kneath
306
46k
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⽂の乱⽴(ネスト) アーリーリターン、数珠つなぎ条件、メソッドに分ける まとめ
ご静聴ありがとうございました! おしまい