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
610
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
オブジェクト指向で挫折する初学者へ
deepoli
June 29, 2022
Other Decks in Programming
See All in Programming
わからない話を追いかけたら、プログラミング言語を作る側にいた
ydah
3
530
ソフトウェアエンジニアにとっての生成AI - 特性を知って使い倒す / generative ai for software enginner
kishida
6
2k
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
210
Building a Meta Ray-Ban display app
akkeylab
0
170
Jindong: Introducing Declarative Haptics in Compose Multiplatform
l2hyunwoo
0
120
Pythonの実行はどこまで賢くなったのか? CPythonとPyPyから見る最適化のしくみ
curekoshimizu
0
170
React本体のコードリーディング
high_g_engineer
1
150
変わらないものが、変わるものを決める — 意図駆動開発 × イベントソーシング × イミュータブル | What Doesn't Change Decides What Can — IDD × Event Sourcing × Immutability
tomohisa
0
1.8k
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
600
進化を続けるGo toolsの現在地 / The Current State of Ever-Evolving Go Tools
hond0413
0
240
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
4.9k
実装をデザインガイドラインに追従させるための取り組み / 260731-dip-mosh-design-system
dachi023
0
6.2k
Featured
See All Featured
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
370
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.4k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
470
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Accessibility Awareness
sabderemane
1
180
Designing Powerful Visuals for Engaging Learning
tmiket
1
500
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
480
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
3
460
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
4 Signs Your Business is Dying
shpigford
187
23k
Transcript
オブジェクト指向で挫折する初学者へ 株式会社ラクス 山口 良輔
自己紹介 山口 良輔(ryosuke yamaguchi) Twitter: @13_guchi 経歴 - 生粋の文系出身 -
5年前にプログラミング楽しいな〜ってなってこの業界に転職 - 4年間SIerに勤め、客先で揉まれてました - 2021年7月ラクスに入社 - 現在は楽楽電子保存のバックエンド開発担当 好きなもの - バックエンド - Java / Go - OSS - Rebuild - 趣味プログラミング - 写真の加工
なぜオブジェクト指向で 挫折するほど最初から理解しようとするのか
オブジェクト指向を考えない - Javaに関しては入門段階で出てくることもあり、初心者には理解がもやっとする →自分のコードに落とせない、あるいは目的のはっきりしないオブジェクトが沢山できる - まずはオブジェクト指向を頭の片隅に追いやり純粋にコードを書いてみる →スパゲティにでも重複処理になってもOK - 自分の知識だけでコーディングしない まずは言語に慣れる・コードを書く感覚を育てることが大事。
テストコードを書く - 学びはじめはテストコードを書くということが後回し・あるいは書かない - テストが書きにくいと感じることが大事 - テストコードが汚くても正常系・異常系パターンのテストケースが通るようにする - テストのしやすさを意識することがオブジェクト指向を意識することにつながる
リファクタリングしてみる - 学んだことを少しずつ自分のコードに適用してみる ※あまり全てに目を向けると嫌になるのでスコープを絞る →責務を1つに絞るとか重複処理をまとめるなどなど - 可読性を意識する - 必要最低限を意識する ※Java8以降はラムダが使えることを忘れてはいけない
訳もわからず「オブジェクト指向だから」と どんどんクラスやインターフェースを作って迷宮化しがちなので気を付けましょう
OSSから学ぶ - 学習もしくは業務からだけの知識では 一般的ではないあるいは古いパターンもあり知識に偏りが出ることが多い - OSSにある比較的メジャーでメンテナンスされているコードを見てみると感覚を養える - 使っているライブラリやフレームワークがあればそれを見るのが一石二鳥 - 隙があれば色々確認(色々な意味含む)してPR出してみるのもあり
兎にも角にもまずはたくさんコード を書きましょう
End