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
菊本 久寿
March 02, 2025
Programming
330
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
読まないコードリーディング術
主にプログラマー脳のお話
菊本 久寿
March 02, 2025
More Decks by 菊本 久寿
See All by 菊本 久寿
Rubyの黒魔術
hisaju
0
280
モメンタムマーケティング
hisaju
1
250
人生を救ってくれたエンジニアという生き方
hisaju
1
2.7k
ワークシフト
hisaju
0
360
サラリーマンのススメ
hisaju
0
2.1k
つくらないキャリアの作り方
hisaju
0
1.7k
キャリアにつなげる副業のやり方
hisaju
2
2.1k
若手や未経験者を育てるときのメンターの心構え
hisaju
0
640
Other Decks in Programming
See All in Programming
FastAPI の並行処理モデルを完全に理解する
hoto17296
8
3.1k
仕様駆動開発の消費期限
watany
20
9.1k
不幸な GC
chencmd
0
810
Dockerfile CMD for Node.js
grazie1999
0
140
AIに既存システムを理解させる技術 ~レガシーを見捨てないハーネスエンジニアリング入門~
ochtum
0
170
初めての模倣学習とVLA
natsutan
0
310
TSX の <Hoge<Fuga>> という構文に驚いた話 / tsx-type-argument-syntax
kanaru0928
0
240
Loosening the Reins: Go Generics Get More Flexible
kuro_kurorrr
0
350
初心者DevRelとして参加者だった私が、DevRel Talks!#2に登壇するまでにしてきたこと
sokohirai
0
160
使いながら育てる Claude Code — 開発フローの1コマンド化 × 繰り返し指摘の自動仕組み化
shiki_kakaku
1
2k
Gmail/Google DriveをトリガーにAIエージェントを動かそう! / Run AI agents with Gmail/Google Drive as triggers!
har1101
2
450
ALB ログから Trace を気合で繋げる技術
fohte
7
770
Featured
See All Featured
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
290
Skip the Path - Find Your Career Trail
mkilby
1
200
WENDY [Excerpt]
tessaabrams
12
39k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Side Projects
sachag
455
43k
Chasing Engaging Ingredients in Design
codingconduct
0
290
The World Runs on Bad Software
bkeepers
PRO
72
12k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
970
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
First, design no harm
axbom
PRO
2
1.3k
Transcript
読まない コードリーディング術 ひさじゅ
01 自己紹介 02 プログラマー脳のおさらい 03 ベテランエンジニアの記憶の使い方 04 読まないコードリーディング術 05 まとめ
CONTENTS
自己紹介 01
ひさじゅ エンジニアをはじめて25年ほど経 ちます。ずっとその時代のスタン ダードな言語やフレームワークを学 んだり仕事で扱ってきました。その 中で一番読みやすくて書きやすい言 語がRubyです。 今までやった言語 自己紹介 C、C++、ColdFusion、SQL、PL/SQL、
VBA、Object Pascal、bash、Java、 Groovy、Perl、PHP、Python、Ruby 、サーバーサイドJavaScript (Node.js)、Lua、Go、JavaScript (ES5)、ActionScript、CoffeeScript、 JavaScript(ES6)、GoogleAppScript、 TypeScript 今全部書けるわけではないですが、読めたり はします。あとJS関連はこんな感じで振り回 されてきました。それはまた別の話で。 自己紹介
プログラマー脳のおさらい 02
長期記憶 長期記憶は、プログラミングで使用する アルゴリズム、デザインパターン、プロ グラミング言語の文法、経験則などの知 識が蓄積される場所。 頻繁に使う知識やパターンを長期記憶に 定着させることで、作業中に思い出す労 力が軽減され、効率的な問題解決が可能 になる。 短期記憶
短期記憶は、一時的に情報を保持するた めの領域。 保持できる情報の量は限られており、通 常は数個程度の情報しか同時に扱えない。 ワーキングメモリー ワーキングメモリーは、短期記憶の情報 を基に、実際の思考や計算、情報統合を 行う「作業領域」として機能。 長期記憶から必要な知識を呼び出し、短 期記憶に一時的に保持しながら、問題解 決やアルゴリズムの適用、コードの設計 といった作業を行う。 それぞれの記憶領域
チャンクとは 複数の個別の情報をひとまとまりにグループ 化した単位。プログラミングの文脈で考える と、個々の関数やアルゴリズム、デザインパ ターンなどが、使い慣れることでひとつのチ ャンクとして扱えるようになる。 繰り返しと実践 繰り返しコードを書くことで、特定のパター ンや手法がチャンクとして定着します。実際 に手を動かすことが、チャンク化の促進につ
ながります。 関連情報の整理 新しい概念を学んだとき、類似の知識や既に 習得しているチャンクと関連付けることで、 より効率的に情報を整理できます。 チャンクとは? チャンク
ベテランエンジニアの記憶 の使い方 03
なぜベテランエンジニアはプログラミングが速いのか ベテランエンジニアが プログラミングが速い理由 プログラマーは、頻繁に使用する知識を意識的に長 期記憶に定着させ、短期記憶やワーキングメモリー に頼りすぎない工夫をすることが求められます。こ れにより、作業中の認知負荷が軽減され、コードの 理解や問題解決がより効率的に行えるようになりま す。 長期記憶の知識スタック
サーバーサイド フロントエンド コンピューター・ネットワー ク・プロトコル・インフラ OS ミドルウェア 言語・アルゴリズム フレームワーク・オブジェク ト志向・デザインパターン ライブラリ プロジェクトコード ブラウザ、Web技術 レンダリング技術(HTML・ CSS・JavaScript) フレームワーク・デザインパ ターン ライブラリ プロジェクトコード 長期記憶化 つながりを チャンク化
なぜRailsの開発が速いの コンピューター・ネットワー ク・プロトコル・インフラ OS ミドルウェア 言語・アルゴリズム フレームワーク・オブジェク ト志向・デザインパターン ライブラリ プロジェクトコード
設定より規約 DRY(Don’t repeat yourselef) The One Person Framework RailsWay mixin Rack Railsは、他の言語やフレームワークとは異なり、独自のカルチャーを背景 に、フレームワークの制約の上に「RailsWay」と呼ばれる緩やかな概念・ ルールを取り入れています。これにより、プロジェクトや会社をまたいだ 場合でも同様のルールが用いられることが多く、長期記憶を活用しやすい ため、他の言語・フレームワークと比較してプロジェクトコードですら キャッチアップコストが低くなります。
読まないコードリーディング術 04
目的のメソッドを見つける 全部読もうとしない なんのためにコードを読むのかを忘れない 目的の処理を見つける 読まないコードリーディング術
実践
実践
実践
まとめ 05
01 プログラマー脳は必読 02 長期記憶を活用してコードリーディングを素早くする 03 物理スタックに合わせた知識スタックでチャンク化 04 コードリーディングは短期記憶をなるべく使わない 05 優秀なエンジニアになるにはRailsが最適
まとめ
ありがとうございました!