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
68
生成AI活用機能のプロンプト設計と開発の裏側
kanasann1106
0
200
バイアスを越えて、自分らしいエンジニアキャリアを見つける
kanasann1106
0
140
OpenAIとLangChainを活用して ジェンダーバイアス解消ツールを作った話
kanasann1106
0
28
Supabase × GASでサクッと作る!社内向け管理画面の作成法
kanasann1106
0
230
いいプロダクトを作りたい!の想いで動いていた結果 テックリードになっていた話
kanasann1106
0
63
フロントエンドエンジニアがLaravelでテストコードを書いてみた
kanasann1106
0
800
Other Decks in Programming
See All in Programming
プロダクト志向なエンジニアがもう一歩先の価値を目指すために意識したこと
nealle
0
110
Cline指示通りに動かない? AI小説エージェントで学ぶ指示書の書き方と自動アップデートの仕組み
kamomeashizawa
1
590
A2A プロトコルを試してみる
azukiazusa1
2
1.2k
AIコーディング道場勉強会#2 君(エンジニア)たちはどう生きるか
misakiotb
1
270
Team operations that are not burdened by SRE
kazatohiei
1
270
プロダクト志向ってなんなんだろうね
righttouch
PRO
0
170
Java on Azure で LangGraph!
kohei3110
0
170
20250613-SSKMvol.15
diostray
0
100
Node-RED を(HTTP で)つなげる MCP サーバーを作ってみた
highu
0
110
『自分のデータだけ見せたい!』を叶える──Laravel × Casbin で複雑権限をスッキリ解きほぐす 25 分
akitotsukahara
1
590
技術同人誌をMCP Serverにしてみた
74th
1
450
ReadMoreTextView
fornewid
1
490
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
Building Applications with DynamoDB
mza
95
6.5k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
BBQ
matthewcrist
89
9.7k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Automating Front-end Workflow
addyosmani
1370
200k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Raft: Consensus for Rubyists
vanstee
140
7k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
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⽂の乱⽴(ネスト) アーリーリターン、数珠つなぎ条件、メソッドに分ける まとめ
ご静聴ありがとうございました! おしまい