Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Code Complete 第2版 第1部 第1章&第2章 / Code Complete S...
Search
taroosg
October 11, 2018
Programming
46
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Code Complete 第2版 第1部 第1章&第2章 / Code Complete Second Edition Part 1 Chapter 1 and Chapter 2
taroosg
October 11, 2018
More Decks by taroosg
See All by taroosg
自走のためのメンタル / mental-for-self-running
taroosg
0
47
Code Complete 第2版 第2部 第5章 / Code Complete Second Edition Part 02 Chapter 05
taroosg
0
87
let's-deploy
taroosg
0
54
PCに関するジェネレーションギャップの話 / Generation Gap on PC
taroosg
0
50
Code Complete 第2版 第1部 第4章 / Code Complete Second Edition Part 1 Chapter 4
taroosg
0
69
ブラウザゲームをハッキング / Hacking browser games
taroosg
0
740
Code Complete 第2版 第1部 第3章 / Code Complete Second Edition Part 1 Chapter 3
taroosg
0
120
はじめてのプログラミング教育 / First programming education
taroosg
0
59
Other Decks in Programming
See All in Programming
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
790
残高管理から台帳サービスへの進化
artoy
1
200
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
350
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
500
R8 の設定見直しでアプリサイズ削減
andpad
0
220
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
1.9k
コーディング自動化の次へ。人の介入をゼロにするファクトリーとサポートAIによる実践
timakin
4
3.5k
JIS keyboard support in Omarchy
lef237
0
110
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
330
Agents on Rails - Rails at Scale 2026
irinanazarova
0
560
気持ちぃ〜角丸 Squircle
ryu1013
0
310
最近”作らせてる” ローカルAIアプリの話
akit37
0
470
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Evolving SEO for Evolving Search Engines
ryanjones
0
330
The Language of Interfaces
destraynor
162
27k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
How to build a perfect <img>
jonoalderson
1
6.1k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
520
Scaling GitHub
holman
464
140k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
480
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
340
From π to Pie charts
rasagy
1
400
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
260
Transcript
code complete 第2版 20181011読んだ内容まとめてLT会#demo
この発表には発表者個人の経験・見解が多分に含まれています. 用量・用法を守って正しくお使いください.
誰お前? 名前 大杉 太郎 (おおすぎ たろう) 仕事 G's ACADEMY FUKUOKA
講師 年齢 30 出身 茨城県 好きなお酒 Ardbeg 好きなこと 外でコード書くこと
None
None
誰お前? -25歳 大学生→大学院生@北海道 (情報系,C++課題は全部コピペで出す) 25-29歳 医療機器メーカーで企画,設計&開発 @東京 この頃東京のG's ACADEMYに通い始める(プログラミング未経験) 卒業後に授業のアシスタント&たまに講義
30歳 会社やめる → G's ACADEMY FUKUOKA 講師 (←今ここ) 得意なこと 簡単なjs,簡単なPHP,簡単なfirebase,簡単なajax できない(やりたくない)こと デザイン,UI,css
はじめての人にプログラムをおしえるには 雑学と語彙力が重要であるという可能性 code complete 第2版 20181011読んだ内容まとめてLT会#demo
code complete第2版 ・読み始めたきっかけ:コードを書くときの考え方を研究したかった. ・上下巻で計1173ページ. →上巻628ページ,下巻545ページ.進まないorz ・上巻だけで4部19章から成る. ・今回は1部の1章 & 2章を紹介
Steve McConnell ・Construx Software CEO ・コンピュータサイエンス,哲学(学士) ・ソフトウェア工学(修士) ・microsoft,ボーイング ・IEEE software誌の編集長
・ハーレーが好き ・車のワックスブランドをつくった(噂) https://stevemcconnell.com/
第1章:ソフトウェアコンストラクションへようこそ 第2章:ソフトウェア開発への理解を深めるメタファ
第1章:ソフトウェアコンストラクションへようこそ 第2章:ソフトウェア開発への理解を深めるメタファ
第1章 ・1章はプログラムの設計の重要性についてを解説. ・ソフトウェアの実現には多くの要素がある.
第1章 ・1章はプログラムの設計の重要性についてを解説. ・ソフトウェアの実現には多くの要素がある.
第1章 ・1章はプログラムの設計の重要性についてを解説. ・ソフトウェアの実現には多くの要素がある. ・設計(コーディング含む)は必ず実施される工程である. ・最も重要である.
第1章 ・1章はプログラムの設計の重要性についてを解説. ・ソフトウェアの実現には多くの要素がある. ・設計(コーディング含む)は必ず実施される工程である. ・最も重要である.
第1章:ソフトウェアコンストラクションへようこそ 第2章:ソフトウェア開発への理解を深めるメタファ
キーワードは...
キーワードは... メタファ
キーワードは... メタファ
キーワードは... メタファ = 比喩,たとえ
科学の歴史はメタファの歴史 ①「気体の力学理論 = ビリヤード球」 気体の分子が体積を持ち,弾性衝突をするという考え方 ②「光と波の波動理論 = エーテルの存在」 光に媒質があるとする考え方←失敗例
メタファはわかりやすい! 気体の分子が体積を持ち弾性衝突をする ←は? 気体がビリヤード球のように衝突する ←わかる
プログラミングの世界では?? ①「コンピュータ中心」 データがコンピュータの中を流れる ↓ ②「データベース中心」 データの塊をコンピュータが処理する
メタファで説明すると?? 「天動説 → 地動説」の変化 データ = 太陽 コンピュータ = 地球
メタファはわかりやすい! データとコンピュータの関係 ←詳しい人しか知らない 太陽と地球の関係 ←みんな知っている
メタファをうまく使うと... ・無駄なコミュニケーションを省ける ・誤解を減らすことができる
ソフトウェア設計のメタファ
ソフトウェア設計のメタファ
ソフトウェア設計のメタファ
①書いて終わりではない 開発はリリース後が9割 (Pigoski 1997)
②計画の存在
ソフトウェア設計のメタファ
小規模であれば作り直せるが...
規模が大きいほど取り返しがつかない
①入念な計画
①入念な計画 ②適切な方法
ソフトウェア開発を説明するときは... ・建築に例えるとわかりやすい! ・「計画」と「方法の選択」が大事!
今日のまとめ&私見
はじめての人におしえるには... ・正しいメタファを用いて理解を促す ・メジャーな例(雑学)との共通点 ・説明するための語彙力
ご静聴ありがとうございました!