Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

The principles of programming part.1

443 views

Published on

「#4 はじめてのIT勉強会 in 仙台」のセッションスライドです。
プリンシプルオブプログラミングの紹介と、プログラミングの前提、原則、そして、プログラマの習慣に関するキーワード紹介を軸にした資料となっています。

Published in: Technology
  • Be the first to comment

  • Be the first to like this

The principles of programming part.1

  1. 1. The Principles of Programming part.1
  2. 2. 3年目までに身につけたい 一生役立つ101の原理原則
  3. 3. 本書がおすすめな理由
  4. 4. 本を読んで勉強したい but なにを読めばいいか分からない
  5. 5. おすすめできる理由
  6. 6. おすすめできる理由 1. プログラミングの本質的課題を解決すること が目的の本である
  7. 7. おすすめできる理由 1. プログラミングの本質的課題を解決すること が目的の本である 2. 陳腐化しない、普遍的な情報を学ぶことがで きる本である
  8. 8. おすすめできる理由 1. プログラミングの本質的課題を解決すること が目的の本である 2. 陳腐化しない、普遍的な情報を学ぶことがで きる本である 3. プログラマの成長の土台を作る本である
  9. 9. おすすめできる理由 1. プログラミングの本質的課題を解決すること が目的の本である 2. 陳腐化しない、普遍的な情報を学ぶことがで きる本である 3. プログラマの成長の土台を作る本である 4. 主たる情報となった参考書籍が チャプター単位で記載してある本で ある!
  10. 10. おすすめできる理由 1. プログラミングの本質的課題を解決すること が目的の本である 2. 陳腐化しない、普遍的な情報を学ぶことがで きる本である 3. プログラマの成長の土台を作る本である 4. 主たる情報となった参考書籍が チャプター単位で記載してある本で ある!
  11. 11. おすすめできる理由 1. プログラミングの本質的課題を解決すること が目的の本である 2. 陳腐化しない、普遍的な情報を学ぶことがで きる本である 3. プログラマの成長の土台を作る本である 4. 主たる情報となった参考書籍が チャプター単位で記載してある本で ある!
  12. 12. どんなことが書いてある本か?
  13. 13. ● プリンシプルオブプログラミング ● 第1章 前提 - プログラミングの変わらぬ真実 ● 第2章 原則 - プログラミングのガイドライン ● 第3章 思想 - プログラミングのイデオロギー ● 第4章 視点 - プログラマの観る角度 ● 第5章 習慣 - プログラマのルーティーン ● 第6章 手法 - プログラマの道具箱 ● 第7章 法則 - プログラミングのアンチパターン
  14. 14. 今日話をするのはどこ?
  15. 15. ● プリンシプルオブプログラミング ● 第1章 前提 - プログラミングの変わらぬ真実 ● 第2章 原則 - プログラミングのガイドライン ● 第3章 思想 - プログラミングのイデオロギー ● 第4章 視点 - プログラマの観る角度 ● 第5章 習慣 - プログラマのルーティーン ● 第6章 手法 - プログラマの道具箱 ● 第7章 法則 - プログラミングのアンチパターン
  16. 16. Let’s think about “プリンシプル” !
  17. 17. ● プリンシプルとはなにか ● プログラミングの指針となる .. ➢ 前提 ➢ 原則 ➢ 思想 ➢ 習慣 ➢ 視点 ➢ 手法 ➢ 法則 ● なぜ必要か.. - 先人たちの審査(試行錯誤)を受けて、今なお現場 に残された知識を学ばない手はない
  18. 18. 先人たちが残した (もしかしたら)「近道」ができる(かもな)情報
  19. 19. ● プリンシプルオブプログラミング ● 第1章 前提 - プログラミングの変わらぬ真実 ● 第2章 原則 - プログラミングのガイドライン ● 第3章 思想 - プログラミングのイデオロギー ● 第4章 視点 - プログラマの観る角度 ● 第5章 習慣 - プログラマのルーティーン ● 第6章 手法 - プログラマの道具箱 ● 第7章 法則 - プログラミングのアンチパターン
  20. 20. まずは「前提」を知りましょう
  21. 21. 「プログラミングに銀の弾丸はない」 - No Silver Bullet in programming. -
  22. 22. 「コードは設計書である」 - Code as design. -
  23. 23. 「コードは必ず変更される」 - Code will be changed. -
  24. 24. ● プリンシプルオブプログラミング ● 第1章 前提 - プログラミングの変わらぬ真実 ● 第2章 原則 - プログラミングのガイドライン ● 第3章 思想 - プログラミングのイデオロギー ● 第4章 視点 - プログラマの観る角度 ● 第5章 習慣 - プログラマのルーティーン ● 第6章 手法 - プログラマの道具箱 ● 第7章 法則 - プログラミングのアンチパターン
  25. 25. 「ガイドライン」を知りましょう
  26. 26. 「KISS(キス)」 - Keep It Short and Simple. - コードはKISSに書 いていこう!
  27. 27. 「DRY(ドライ)」 - Don’t Repeat Yourself. - そのコード、DRY じゃないよね!
  28. 28. 「YAGNI(ヤグニ)」 - You Aren’t Going to Need It. -
  29. 29. 「PIE(パイ?)」 - Program Intently and Expressively. -
  30. 30. 「SLAP(スラップ)」 - Single Level of Abstraction Principle. -
  31. 31. 「OCP(オーシーピー)」 - Open-Closed Principle. -
  32. 32. 「名前重要」 - Naming is important. -
  33. 33. この「ガイドライン」を知らないと?
  34. 34. ● プリンシプルオブプログラミング ● 第1章 前提 - プログラミングの変わらぬ真実 ● 第2章 原則 - プログラミングのガイドライン ● 第3章 思想 - プログラミングのイデオロギー ● 第4章 視点 - プログラマの観る角度 ● 第5章 習慣 - プログラマのルーティーン ● 第6章 手法 - プログラマの道具箱 ● 第7章 法則 - プログラミングのアンチパターン
  35. 35. 良質なコードを書くための 「習慣」を知りましょう
  36. 36. 「怠慢」「短気」「傲慢」 どう思う?
  37. 37. 「プログラマーの三大美徳」 - Three great virtues of a programmer. -
  38. 38. 「ボーイスカウトの規則」 - Boy Scout Rule. -
  39. 39. 「パフォーマンスチューニングの箴言」 - Proverb of performance tuning. - 「速い」コードより「よ い」コード
  40. 40. 「エゴレスプログラミング」 - Egoless programming. -
  41. 41. ● エゴレスプログラミングの十戒 1. 自分自身も間違いを犯すということを理解し、受け入れます 2. 書いたコードは、自分自身ではありません 3. どれほど極めたと思っていても、上には上がいます 4. 相談なしに、コードは書き直しません 5. 自分よりもスキルが劣る人にも、尊敬と敬意と忍耐を持って接します 6. 世界で唯一変わらないことは、変わるということだけです 7. 本当の権威は、地位ではなく、知識から生じます 8. 信じるもののために戦います。ただし、負けは潔く受け入れます。 9. 部屋に籠りきりはいけません 10. 「人に優しく、コードに厳しく」して、人ではなくコードを批評します
  42. 42. 「1歩ずつ少しずつ」 - One by one. -
  43. 43. 「TMTOWTDI(ティムトゥデイ)」 - There’s more than one way to do it. - やり方は 一つではない。
  44. 44. ● おわりに ● 本質的な「プログラミングスキル」は... ○ 「一度身につけると、その後、長期間活用ができる」スキルが多い
  45. 45. 生涯戦える「考え方」を身につけるための良書
  46. 46. 次回は8/23(水)
  47. 47. ● プリンシプルオブプログラミング ● 第1章 前提 - プログラミングの変わらぬ真実 ● 第2章 原則 - プログラミングのガイドライン ● 第3章 思想 - プログラミングのイデオロギー ● 第4章 視点 - プログラマの観る角度 ● 第5章 習慣 - プログラマのルーティーン ● 第6章 手法 - プログラマの道具箱 ● 第7章 法則 - プログラミングのアンチパターン
  48. 48. ご拝聴ありがとうございました

×