ボブおじさんの   夢を見た    Uncle Bob said you should be a    professional with clean code.    2009-10-30 Ruby Sapporo Night vol.12 ...
提供                 From Sapporo, with Love for Ruby.                  Ruby札幌2009年10月31日土曜日
しまだ こうじ                   島田 浩二 Photo by tmaeda2009年10月31日土曜日
Sapporo is a beautiful   provincial city of Japan.                         Photo by enggul2009年10月31日土曜日
2009年10月31日土曜日
2009年10月31日土曜日
2009年10月31日土曜日
2009年10月31日土曜日
from Sapporo,                 with Love for Ruby                                Photo by darashi2009年10月31日土曜日
日本Rubyの会2009年10月31日土曜日
一般社団法人   LOCAL2009年10月31日土曜日
2009年10月31日土曜日
2009年10月31日土曜日
e first edition                   still in store.2009年10月31日土曜日
どうぞ    よろしく   お願いします2009年10月31日土曜日
ボブおじさんの   夢を見た    Uncle Bob said you should be a    professional with clean code.    2009-10-30 Ruby Sapporo Night vol.12 ...
設計とプログラミングは        人間的な活動である。        それを忘れると、すべて失う。                 - Bjarne Stroustrup2009年10月31日土曜日
Today’s Topic:2009年10月31日土曜日
A Handbook of     Agile Software Craftsmanship2009年10月31日土曜日
Two Reasons:2009年10月31日土曜日
2009年10月31日土曜日
on Kouichirou Eto’s Talk2009年10月31日土曜日
Martin Fowler says:2009年10月31日土曜日
Ward、Kent、それから、   キレイなコード、うまく整理   されたオブジェクト指向設計、   そして、テストのしやすさに   ついて提唱してきたすべての   人たちの価値…Ruby界では   それが「正統」になっている。        ...
Who’s who:2009年10月31日土曜日
Robert C. Martin                             Photo by chrishedgate2009年10月31日土曜日
Object Mentor Inc.2009年10月31日土曜日
A Handbook of     Agile Software Craftsmanship2009年10月31日土曜日
動作する    きれいなコード        “Clean Code that works”2009年10月31日土曜日
2009年10月31日土曜日
Clean Code that works, in  Ron Jefferies’ pretty phrase,  is the goal of Test-Driven  Development(TDD).       「動作するきれいなコード」...
2009年10月31日土曜日
SOLID Principle  SRP Single Responsibility  OCP Open-Closed  LSP Liscov Substitution  ISP Interface Segregation  DIP Depen...
SOLID Principle  SRP 単一責務の原則  OCP オープン・クローズドの原則  LSP リスコフの置換原則  ISP インターフェイス分離の原則  DIP 依存関係逆転の原則2009年10月31日土曜日
✓ クラスを変更する理由は一つ以上   存在してはならない ✓ ソフトウェアの構成要素は拡張に   対して開いて、修正に対して閉じ   ていなけければならない ✓ 派生型はその基本型と置換可能で   なくてはならない ✓ 抽象に依存せよ2009...
高凝集       疎結合2009年10月31日土曜日
安易なショートカットを     選んではならない                 - Masatoshi SEKI2009年10月31日土曜日
2009年10月31日土曜日
プログラミングは、マシンに向けて    だけではなく、自分以外のプログラ    マに向けて書かれるべきなんだ。    そうすることで、プログラミングは    初めて、人による、人のための、    人の仕事になる。そうやって作られ    るコード...
“is is a book about   programming. ”2009年10月31日土曜日
“is is a book about   good programming. ”2009年10月31日土曜日
ソフトウェア設計とは何か                 - Jack W.Reeves2009年10月31日土曜日
ソフトウェア設計とは何か?  ✓ 設計: ソースコード  ✓ 製造: ビルド2009年10月31日土曜日
コーディングは設計であり、  テスティングとデバッギング  も設計の一部であり、  私たちが一般的にソフトウェ  ア設計と呼んでいるものもや  はり設計の一部なのです2009年10月31日土曜日
Dave Thomas says:2009年10月31日土曜日
ソフトウェアエンジニアリングという  言葉はありません。少なくともまだな  いです。これ以上ないところまで削る  のがエンジニアリング。これ以上削れ  ないところまで削るということは、ど  こまで削るとそれが壊れてしまうかわ  かっているという...
まだソフトウェアに関しては我々はそ   のレベルまで達していないんです。達   していないから、ソフトウェアエンジ   ニアリングという言葉は、まだ嘘なの   です。我々がしているのは、ただの   コーディングです。              ...
photo by sunflowerdave                 ボーイスカウト                     の規則2009年10月31日土曜日
洗練されたコードは、どうして、    こうも早く粗悪なコードへと変質し    てしまうのでしょう? ... 間違ってい    るのは我々自身なのです。これで    は、我々はプロとは呼べないので    す。...つまり、あなたがそれに負け   ...
We who cut mere stones     must always be envisioning                     cathedrals.                 ー e Pragmatic Progr...
いち開発者である自分には     企業資産(つまりコードベー     ス全体)の価値を低下させる     ような権限はない                 - Shintaro KAKUTANI2009年10月31日土曜日
2009年10月31日土曜日
Programmers are   Responsible Professionals.                   - Martin Fowler2009年10月31日土曜日
Robert C. Martin                             Photo by chrishedgate2009年10月31日土曜日
今日のまとめ      ✓ 粗末なコードは会社を        廃業に追いやる      ✓ コーディングは設計      ✓ 私たちに責任がある      ✓ 練習あるのみ2009年10月31日土曜日
入門                      photo by foliosus2009年10月31日土曜日
意味のある名前                 Meaningful Names                                    photo by foliosus2009年10月31日土曜日
明確な名前を付ける   int d; // 日単位の経過時間   int elapsedTimeDays;   int daysSinceCreation;   int daysSinceModification;   int fileAgeI...
明確な名前を付ける   public List<int[]> getThem() {        List<int[]> list1 = new ArrayList<int[]>();        for (int[] x : the Li...
明確な名前を付ける  public List<Cell> getFlaggedCells() {      List<Cell> flaggedCells = new ArrayList<Cell>();      for (Cell cell...
発音可能な名前を付ける   class DtaRcrd102 {     private Date genymdhms;     private Date modymdhms;     private final String pszqint ...
検索可能な名前を付ける   for (int j = 0; j < 34; j++) {     s += (t[j]*4/5);   }   int realDaysPerIdealDay = 4;   const int WORK_DAYS...
コードの中で説明する   # 従業員が給与の完全給付を受け取るかどうか   チェックする   if ((employee.flags & HOURLY_FLAG) &&       (employee.age > 65))     ...   ...
あとは本で            学んでください!!!                     photo by foliosus2009年10月31日土曜日
今日のまとめ      ✓ 粗末なコードは会社を        廃業に追いやる      ✓ コーディングは設計      ✓ 私たちに責任がある      ✓ 練習あるのみ2009年10月31日土曜日
参考2009年10月31日土曜日
acts_as_agile                 http://gihyo.jp/dev/serial/01/agile2009年10月31日土曜日
Coplien and Martin Debate TDD, CDD and Professionalism.         http://www.infoq.com/jp/interviews/coplien-martin-tdd_ja20...
Crasmanship over crap     http://blogs.itmedia.co.jp/hiranabe/2008/08/agile2008-rober.html2009年10月31日土曜日
ボブおじさんの   夢を見た    Uncle Bob said you should be a    professional with clean code.    2009-10-30 Ruby Sapporo Night vol.12 ...
ご清聴        ありがとう       ございました2009年10月31日土曜日
各種ご案内                         Photo by darashi2009年10月31日土曜日
Workshop  Photo by mrkn2009年10月31日土曜日
Ruby Sapporo Night2009年10月31日土曜日
Junkudo Books2009年10月31日土曜日
02    Check It    Out!2009年10月31日土曜日
Join Us!2009年10月31日土曜日
ご参加                 お待ちして                  います2009年10月31日土曜日
Ruby Sapporo Night  coming soon    vol.132009年10月31日土曜日
Upcoming SlideShare
Loading in …5
×

20091030 Uncle Bob Said You Should Be A Professional With Clean Code

2,301 views

Published on

Published in: Technology, Education
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,301
On SlideShare
0
From Embeds
0
Number of Embeds
217
Actions
Shares
0
Downloads
24
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

20091030 Uncle Bob Said You Should Be A Professional With Clean Code

  1. 1. ボブおじさんの 夢を見た Uncle Bob said you should be a professional with clean code. 2009-10-30 Ruby Sapporo Night vol.12 アップルストア札幌 日本Rubyの会 Ruby札幌 しまだ こうじ SHIMADA Koji2009年10月31日土曜日
  2. 2. 提供 From Sapporo, with Love for Ruby. Ruby札幌2009年10月31日土曜日
  3. 3. しまだ こうじ 島田 浩二 Photo by tmaeda2009年10月31日土曜日
  4. 4. Sapporo is a beautiful provincial city of Japan. Photo by enggul2009年10月31日土曜日
  5. 5. 2009年10月31日土曜日
  6. 6. 2009年10月31日土曜日
  7. 7. 2009年10月31日土曜日
  8. 8. 2009年10月31日土曜日
  9. 9. from Sapporo, with Love for Ruby Photo by darashi2009年10月31日土曜日
  10. 10. 日本Rubyの会2009年10月31日土曜日
  11. 11. 一般社団法人 LOCAL2009年10月31日土曜日
  12. 12. 2009年10月31日土曜日
  13. 13. 2009年10月31日土曜日
  14. 14. e first edition still in store.2009年10月31日土曜日
  15. 15. どうぞ よろしく お願いします2009年10月31日土曜日
  16. 16. ボブおじさんの 夢を見た Uncle Bob said you should be a professional with clean code. 2009-10-30 Ruby Sapporo Night vol.12 アップルストア札幌 日本Rubyの会 Ruby札幌 しまだ こうじ SHIMADA Koji2009年10月31日土曜日
  17. 17. 設計とプログラミングは 人間的な活動である。 それを忘れると、すべて失う。 - Bjarne Stroustrup2009年10月31日土曜日
  18. 18. Today’s Topic:2009年10月31日土曜日
  19. 19. A Handbook of Agile Software Craftsmanship2009年10月31日土曜日
  20. 20. Two Reasons:2009年10月31日土曜日
  21. 21. 2009年10月31日土曜日
  22. 22. on Kouichirou Eto’s Talk2009年10月31日土曜日
  23. 23. Martin Fowler says:2009年10月31日土曜日
  24. 24. Ward、Kent、それから、 キレイなコード、うまく整理 されたオブジェクト指向設計、 そして、テストのしやすさに ついて提唱してきたすべての 人たちの価値…Ruby界では それが「正統」になっている。 http://capsctrl.que.jp/kdmsnr/wiki/bliki/?RailsConf20072009年10月31日土曜日
  25. 25. Who’s who:2009年10月31日土曜日
  26. 26. Robert C. Martin Photo by chrishedgate2009年10月31日土曜日
  27. 27. Object Mentor Inc.2009年10月31日土曜日
  28. 28. A Handbook of Agile Software Craftsmanship2009年10月31日土曜日
  29. 29. 動作する きれいなコード “Clean Code that works”2009年10月31日土曜日
  30. 30. 2009年10月31日土曜日
  31. 31. Clean Code that works, in Ron Jefferies’ pretty phrase, is the goal of Test-Driven Development(TDD). 「動作するきれいなコード」、 この Ron Jefferies の簡潔な言葉こそが TDD のゴールである2009年10月31日土曜日
  32. 32. 2009年10月31日土曜日
  33. 33. SOLID Principle SRP Single Responsibility OCP Open-Closed LSP Liscov Substitution ISP Interface Segregation DIP Dependency Inversion2009年10月31日土曜日
  34. 34. SOLID Principle SRP 単一責務の原則 OCP オープン・クローズドの原則 LSP リスコフの置換原則 ISP インターフェイス分離の原則 DIP 依存関係逆転の原則2009年10月31日土曜日
  35. 35. ✓ クラスを変更する理由は一つ以上 存在してはならない ✓ ソフトウェアの構成要素は拡張に 対して開いて、修正に対して閉じ ていなけければならない ✓ 派生型はその基本型と置換可能で なくてはならない ✓ 抽象に依存せよ2009年10月31日土曜日
  36. 36. 高凝集 疎結合2009年10月31日土曜日
  37. 37. 安易なショートカットを 選んではならない - Masatoshi SEKI2009年10月31日土曜日
  38. 38. 2009年10月31日土曜日
  39. 39. プログラミングは、マシンに向けて だけではなく、自分以外のプログラ マに向けて書かれるべきなんだ。 そうすることで、プログラミングは 初めて、人による、人のための、 人の仕事になる。そうやって作られ るコードこそ、良いコードなんだ。 ーー 実装パターン、ケント・ベック2009年10月31日土曜日
  40. 40. “is is a book about programming. ”2009年10月31日土曜日
  41. 41. “is is a book about good programming. ”2009年10月31日土曜日
  42. 42. ソフトウェア設計とは何か - Jack W.Reeves2009年10月31日土曜日
  43. 43. ソフトウェア設計とは何か? ✓ 設計: ソースコード ✓ 製造: ビルド2009年10月31日土曜日
  44. 44. コーディングは設計であり、 テスティングとデバッギング も設計の一部であり、 私たちが一般的にソフトウェ ア設計と呼んでいるものもや はり設計の一部なのです2009年10月31日土曜日
  45. 45. Dave Thomas says:2009年10月31日土曜日
  46. 46. ソフトウェアエンジニアリングという 言葉はありません。少なくともまだな いです。これ以上ないところまで削る のがエンジニアリング。これ以上削れ ないところまで削るということは、ど こまで削るとそれが壊れてしまうかわ かっているということです。2009年10月31日土曜日
  47. 47. まだソフトウェアに関しては我々はそ のレベルまで達していないんです。達 していないから、ソフトウェアエンジ ニアリングという言葉は、まだ嘘なの です。我々がしているのは、ただの コーディングです。 - Dave Thomas2009年10月31日土曜日
  48. 48. photo by sunflowerdave ボーイスカウト の規則2009年10月31日土曜日
  49. 49. 洗練されたコードは、どうして、 こうも早く粗悪なコードへと変質し てしまうのでしょう? ... 間違ってい るのは我々自身なのです。これで は、我々はプロとは呼べないので す。...つまり、あなたがそれに負け ない熱意をもって、コードを守れば よいのです ーー クリーンコード、ロバート・C・マーチン2009年10月31日土曜日
  50. 50. We who cut mere stones must always be envisioning cathedrals. ー e Pragmatic Programmer2009年10月31日土曜日
  51. 51. いち開発者である自分には 企業資産(つまりコードベー ス全体)の価値を低下させる ような権限はない - Shintaro KAKUTANI2009年10月31日土曜日
  52. 52. 2009年10月31日土曜日
  53. 53. Programmers are Responsible Professionals. - Martin Fowler2009年10月31日土曜日
  54. 54. Robert C. Martin Photo by chrishedgate2009年10月31日土曜日
  55. 55. 今日のまとめ ✓ 粗末なコードは会社を 廃業に追いやる ✓ コーディングは設計 ✓ 私たちに責任がある ✓ 練習あるのみ2009年10月31日土曜日
  56. 56. 入門 photo by foliosus2009年10月31日土曜日
  57. 57. 意味のある名前 Meaningful Names photo by foliosus2009年10月31日土曜日
  58. 58. 明確な名前を付ける int d; // 日単位の経過時間 int elapsedTimeDays; int daysSinceCreation; int daysSinceModification; int fileAgeInDays; photo by foliosus2009年10月31日土曜日
  59. 59. 明確な名前を付ける public List<int[]> getThem() { List<int[]> list1 = new ArrayList<int[]>(); for (int[] x : the List) if (x[0] == 4) list1.add(x); return list1; } photo by foliosus2009年10月31日土曜日
  60. 60. 明確な名前を付ける public List<Cell> getFlaggedCells() { List<Cell> flaggedCells = new ArrayList<Cell>(); for (Cell cell : gameBoard) if (cell.isFlagged()) flaggedCells.add(cell); return flaggedCells; } photo by foliosus2009年10月31日土曜日
  61. 61. 発音可能な名前を付ける class DtaRcrd102 { private Date genymdhms; private Date modymdhms; private final String pszqint = ...; class Customer { private Date generationTimestamp; private Date modyficationTimestamp; private final String recordid = ...; photo by foliosus2009年10月31日土曜日
  62. 62. 検索可能な名前を付ける for (int j = 0; j < 34; j++) { s += (t[j]*4/5); } int realDaysPerIdealDay = 4; const int WORK_DAYS_PER_WEEK = 5; int sum = 0; for (int j=0; j < NUMBER_OF_TASKS; j++) { int realTaskDays = taskEstimate[j] * realDaysPerIdealDay; int realTaskWeeks = (realdays / WORK_DAYS_PER_WEEK); sum += realTaskWeeks; } photo by foliosus2009年10月31日土曜日
  63. 63. コードの中で説明する # 従業員が給与の完全給付を受け取るかどうか チェックする if ((employee.flags & HOURLY_FLAG) && (employee.age > 65)) ... end if employee.eligible_for_full_benefits? ... end photo by foliosus2009年10月31日土曜日
  64. 64. あとは本で 学んでください!!! photo by foliosus2009年10月31日土曜日
  65. 65. 今日のまとめ ✓ 粗末なコードは会社を 廃業に追いやる ✓ コーディングは設計 ✓ 私たちに責任がある ✓ 練習あるのみ2009年10月31日土曜日
  66. 66. 参考2009年10月31日土曜日
  67. 67. acts_as_agile http://gihyo.jp/dev/serial/01/agile2009年10月31日土曜日
  68. 68. Coplien and Martin Debate TDD, CDD and Professionalism. http://www.infoq.com/jp/interviews/coplien-martin-tdd_ja2009年10月31日土曜日
  69. 69. Crasmanship over crap http://blogs.itmedia.co.jp/hiranabe/2008/08/agile2008-rober.html2009年10月31日土曜日
  70. 70. ボブおじさんの 夢を見た Uncle Bob said you should be a professional with clean code. 2009-10-30 Ruby Sapporo Night vol.12 アップルストア札幌 日本Rubyの会 Ruby札幌 しまだ こうじ SHIMADA Koji2009年10月31日土曜日
  71. 71. ご清聴 ありがとう ございました2009年10月31日土曜日
  72. 72. 各種ご案内 Photo by darashi2009年10月31日土曜日
  73. 73. Workshop Photo by mrkn2009年10月31日土曜日
  74. 74. Ruby Sapporo Night2009年10月31日土曜日
  75. 75. Junkudo Books2009年10月31日土曜日
  76. 76. 02 Check It Out!2009年10月31日土曜日
  77. 77. Join Us!2009年10月31日土曜日
  78. 78. ご参加 お待ちして います2009年10月31日土曜日
  79. 79. Ruby Sapporo Night coming soon vol.132009年10月31日土曜日

×