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
Code Complete 第2版 第1部 第1章&第2章 / Code Complete S...
Search
taroosg
October 11, 2018
Programming
45
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
46
Code Complete 第2版 第2部 第5章 / Code Complete Second Edition Part 02 Chapter 05
taroosg
0
83
let's-deploy
taroosg
0
53
PCに関するジェネレーションギャップの話 / Generation Gap on PC
taroosg
0
49
Code Complete 第2版 第1部 第4章 / Code Complete Second Edition Part 1 Chapter 4
taroosg
0
69
ブラウザゲームをハッキング / Hacking browser games
taroosg
0
730
Code Complete 第2版 第1部 第3章 / Code Complete Second Edition Part 1 Chapter 3
taroosg
0
110
はじめてのプログラミング教育 / First programming education
taroosg
0
58
Other Decks in Programming
See All in Programming
仕様駆動開発へのトライを機に チームに適合する手法を模索し続けている話
freee
PRO
0
580
yield再入門 #phpcon
o0h
PRO
0
1.2k
レビュー履歴をAIに食わせて、 Compose移行を加速するs
shihochan
0
150
仕様駆動開発の消費期限
watany
20
8.8k
全PRの83%がAIレビューだけでマージできるようになった開発組織はその後どうなったか
athug
1
1.9k
わからない話を追いかけたら、プログラミング言語を作る側にいた
ydah
3
530
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
19k
言葉の格闘技のススメ~紙とペンと言葉から始める、キャリアの描き方~
progresscicada
2
160
Japan Community Day at Kubecon + CloudNativeCon Japan 2026: Learning Container Privilege Control by Building My Own Low-Level Container Runtime
ternbusty
1
160
引き算の組織 ― アウトカムとAIに全振りするために辞めたこと ― / Organization by Subtraction
hirokiyamamoto14
PRO
0
260
実装をデザインガイドラインに追従させるための取り組み / 260731-dip-mosh-design-system
dachi023
0
6.1k
運用ダッシュボードの設計を誰も教えてくれないのだけどみなさんどうしてるんですか? - チームに監視するという文化を根付かせるための第一歩を踏みたい -
satoshi256kbyte
1
130
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
41
2.7k
Balancing Empowerment & Direction
lara
6
1.2k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
Making Projects Easy
brettharned
120
6.7k
Optimizing for Happiness
mojombo
378
71k
For a Future-Friendly Web
brad_frost
183
10k
The Pragmatic Product Professional
lauravandoore
37
7.4k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
Google's AI Overviews - The New Search
badams
0
1.1k
Designing Experiences People Love
moore
143
24k
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)
②計画の存在
ソフトウェア設計のメタファ
小規模であれば作り直せるが...
規模が大きいほど取り返しがつかない
①入念な計画
①入念な計画 ②適切な方法
ソフトウェア開発を説明するときは... ・建築に例えるとわかりやすい! ・「計画」と「方法の選択」が大事!
今日のまとめ&私見
はじめての人におしえるには... ・正しいメタファを用いて理解を促す ・メジャーな例(雑学)との共通点 ・説明するための語彙力
ご静聴ありがとうございました!