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
690
駆け出しエンジニア時代に書いた クソコードをリファクタしてみた
Kana Haebaru
August 25, 2021
Tweet
Share
More Decks by Kana Haebaru
See All by Kana Haebaru
開発以外の業務も、Cursor で効率化できる?
kanasann1106
0
70
生成AI活用機能のプロンプト設計と開発の裏側
kanasann1106
0
210
バイアスを越えて、自分らしいエンジニアキャリアを見つける
kanasann1106
0
160
OpenAIとLangChainを活用して ジェンダーバイアス解消ツールを作った話
kanasann1106
0
28
Supabase × GASでサクッと作る!社内向け管理画面の作成法
kanasann1106
0
260
いいプロダクトを作りたい!の想いで動いていた結果 テックリードになっていた話
kanasann1106
0
82
フロントエンドエンジニアがLaravelでテストコードを書いてみた
kanasann1106
0
810
Other Decks in Programming
See All in Programming
QA x AIエコシステム段階構築作戦
osu
0
220
リバースエンジニアリング新時代へ! GhidraとClaude DesktopをMCPで繋ぐ/findy202507
tkmru
4
1.6k
テスターからテストエンジニアへ ~新米テストエンジニアが歩んだ9ヶ月振り返り~
non0113
2
240
Android 16KBページサイズ対応をはじめからていねいに
mine2424
0
810
MCP連携で加速するAI駆動開発/mcp integration accelerates ai-driven-development
bpstudy
0
190
Streamlitで実現できるようになったこと、実現してくれたこと
ayumu_yamaguchi
2
240
フロントエンドのパフォーマンスチューニング
koukimiura
6
2.3k
商品比較サービス「マイベスト」における パーソナライズレコメンドの第一歩
ucchiii43
0
230
TypeScriptでDXを上げろ! Hono編
yusukebe
3
890
0から始めるモジュラーモノリス-クリーンなモノリスを目指して
sushi0120
0
210
MySQL9でベクトルカラム登場!PHP×AWSでのAI/類似検索はこう変わる
suguruooki
1
260
オンコール⼊⾨〜ページャーが鳴る前に、あなたが備えられること〜 / Before The Pager Rings
yktakaha4
2
1.2k
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
The Language of Interfaces
destraynor
158
25k
[RailsConf 2023] Rails as a piece of cake
palkan
56
5.7k
Become a Pro
speakerdeck
PRO
29
5.4k
Scaling GitHub
holman
461
140k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Unsuck your backbone
ammeep
671
58k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Fireside Chat
paigeccino
37
3.6k
YesSQL, Process and Tooling at Scale
rocio
173
14k
The Straight Up "How To Draw Better" Workshop
denniskardys
235
140k
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⽂の乱⽴(ネスト) アーリーリターン、数珠つなぎ条件、メソッドに分ける まとめ
ご静聴ありがとうございました! おしまい