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
deepoli
June 29, 2022
Programming
1
520
オブジェクト指向で挫折する初学者へ
deepoli
June 29, 2022
Tweet
Share
Other Decks in Programming
See All in Programming
聞き手から登壇者へ: RubyKaigi2024 LTでの初挑戦が 教えてくれた、可能性の星
mikik0
1
140
Swift Testing - iPlayground
chiaoteni
0
120
エンジニアとして関わる要件と仕様(公開用)
murabayashi
0
320
PaaSとSaaSの境目で信頼性と開発速度を両立する 〜TROCCO®︎のこれまでとこれから〜
gtnao
5
4.2k
Creating a Free Video Ad Network on the Edge
mizoguchicoji
0
140
CSC509 Lecture 11
javiergs
PRO
0
180
React CompilerとFine Grained Reactivityと宣言的UIのこれから / The next chapter of declarative UI
ssssota
7
2.2k
Enabling DevOps and Team Topologies Through Architecture: Architecting for Fast Flow
cer
PRO
0
380
.NET のための通信フレームワーク MagicOnion 入門 / Introduction to MagicOnion
mayuki
1
2.4k
Java 23の概要とJava Web Frameworkの現状 / Java 23 and Java web framework
kishida
2
230
CSC509 Lecture 12
javiergs
PRO
0
160
TypeScript Graph でコードレビューの心理的障壁を乗り越える
ysk8hori
3
1.3k
Featured
See All Featured
A better future with KSS
kneath
238
17k
A designer walks into a library…
pauljervisheath
204
24k
Embracing the Ebb and Flow
colly
84
4.5k
Rails Girls Zürich Keynote
gr2m
94
13k
We Have a Design System, Now What?
morganepeng
50
7.2k
Bash Introduction
62gerente
608
210k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Teambox: Starting and Learning
jrom
133
8.8k
BBQ
matthewcrist
85
9.3k
Transcript
オブジェクト指向で挫折する初学者へ 株式会社ラクス 山口 良輔
自己紹介 山口 良輔(ryosuke yamaguchi) Twitter: @13_guchi 経歴 - 生粋の文系出身 -
5年前にプログラミング楽しいな〜ってなってこの業界に転職 - 4年間SIerに勤め、客先で揉まれてました - 2021年7月ラクスに入社 - 現在は楽楽電子保存のバックエンド開発担当 好きなもの - バックエンド - Java / Go - OSS - Rebuild - 趣味プログラミング - 写真の加工
なぜオブジェクト指向で 挫折するほど最初から理解しようとするのか
オブジェクト指向を考えない - Javaに関しては入門段階で出てくることもあり、初心者には理解がもやっとする →自分のコードに落とせない、あるいは目的のはっきりしないオブジェクトが沢山できる - まずはオブジェクト指向を頭の片隅に追いやり純粋にコードを書いてみる →スパゲティにでも重複処理になってもOK - 自分の知識だけでコーディングしない まずは言語に慣れる・コードを書く感覚を育てることが大事。
テストコードを書く - 学びはじめはテストコードを書くということが後回し・あるいは書かない - テストが書きにくいと感じることが大事 - テストコードが汚くても正常系・異常系パターンのテストケースが通るようにする - テストのしやすさを意識することがオブジェクト指向を意識することにつながる
リファクタリングしてみる - 学んだことを少しずつ自分のコードに適用してみる ※あまり全てに目を向けると嫌になるのでスコープを絞る →責務を1つに絞るとか重複処理をまとめるなどなど - 可読性を意識する - 必要最低限を意識する ※Java8以降はラムダが使えることを忘れてはいけない
訳もわからず「オブジェクト指向だから」と どんどんクラスやインターフェースを作って迷宮化しがちなので気を付けましょう
OSSから学ぶ - 学習もしくは業務からだけの知識では 一般的ではないあるいは古いパターンもあり知識に偏りが出ることが多い - OSSにある比較的メジャーでメンテナンスされているコードを見てみると感覚を養える - 使っているライブラリやフレームワークがあればそれを見るのが一石二鳥 - 隙があれば色々確認(色々な意味含む)してPR出してみるのもあり
兎にも角にもまずはたくさんコード を書きましょう
End