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
in-process GraphQL のすすめ #ginzajs
izumin5210
4
1.4k
Go 1.27 における memory allocation の高速化
andpad
0
290
Android CLI
fornewid
0
230
バグを直したら useEffect が消えた
colorful12
3
670
AWS DevOps AgentのAzure接続機能を検証して見えた活用法/Use Cases Verified for the AWS DevOps Agent's Azure Connectivity Feature
masakiokuda
1
260
仕様書を書く前にハーネスを作る - Agent Native開発は「探索を速く、判定を固く」
gotalab555
4
1.7k
【デモ】Kiroで体験する仕様駆動開発|設計からコーディングまでAIと進める開発フロー
cmkudo
0
300
MySQLとPostgreSQLって何が違うの?
akagami
0
120
複数の Claude Code が"放置"されてしまう問題をCLI ダッシュボードを自作して解決した話
sumihiro3
1
710
Building a Meta Ray-Ban display app
akkeylab
0
170
改善しないと、タスクが回らない。 “てんこ盛りポジション” を引き継いだ情シスの、入社3ヶ月の業務改善録
krm963
0
280
ソフトウェアラスタライザ
fadis
1
210
Featured
See All Featured
What does AI have to do with Human Rights?
axbom
PRO
1
2.3k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
210
Embracing the Ebb and Flow
colly
88
5.1k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
580
Discover your Explorer Soul
emna__ayadi
2
1.3k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
440
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
How to Ace a Technical Interview
jacobian
281
24k
Side Projects
sachag
455
43k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
210
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が最適
まとめ
ありがとうございました!