Successfully reported this slideshow.
Your SlideShare is downloading. ×

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

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 79 Ad
Advertisement

More Related Content

Viewers also liked (20)

More from Koji SHIMADA (19)

Advertisement

Recently uploaded (20)

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 Koji 2009年10月31日土曜日
  2. 2. 提供 From Sapporo, with Love for Ruby. Ruby札幌 2009年10月31日土曜日
  3. 3. しまだ こうじ 島田 浩二 Photo by tmaeda 2009年10月31日土曜日
  4. 4. Sapporo is a beautiful provincial city of Japan. Photo by enggul 2009年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 darashi 2009年10月31日土曜日
  10. 10. 日本Rubyの会 2009年10月31日土曜日
  11. 11. 一般社団法人 LOCAL 2009年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 Koji 2009年10月31日土曜日
  17. 17. 設計とプログラミングは 人間的な活動である。 それを忘れると、すべて失う。 - Bjarne Stroustrup 2009年10月31日土曜日
  18. 18. Today’s Topic: 2009年10月31日土曜日
  19. 19. A Handbook of Agile Software Craftsmanship 2009年10月31日土曜日
  20. 20. Two Reasons: 2009年10月31日土曜日
  21. 21. 2009年10月31日土曜日
  22. 22. on Kouichirou Eto’s Talk 2009年10月31日土曜日
  23. 23. Martin Fowler says: 2009年10月31日土曜日
  24. 24. Ward、Kent、それから、 キレイなコード、うまく整理 されたオブジェクト指向設計、 そして、テストのしやすさに ついて提唱してきたすべての 人たちの価値…Ruby界では それが「正統」になっている。 http://capsctrl.que.jp/kdmsnr/wiki/bliki/?RailsConf2007 2009年10月31日土曜日
  25. 25. Who’s who: 2009年10月31日土曜日
  26. 26. Robert C. Martin Photo by chrishedgate 2009年10月31日土曜日
  27. 27. Object Mentor Inc. 2009年10月31日土曜日
  28. 28. A Handbook of Agile Software Craftsmanship 2009年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 Inversion 2009年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 SEKI 2009年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.Reeves 2009年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 Thomas 2009年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 Programmer 2009年10月31日土曜日
  51. 51. いち開発者である自分には 企業資産(つまりコードベー ス全体)の価値を低下させる ような権限はない - Shintaro KAKUTANI 2009年10月31日土曜日
  52. 52. 2009年10月31日土曜日
  53. 53. Programmers are Responsible Professionals. - Martin Fowler 2009年10月31日土曜日
  54. 54. Robert C. Martin Photo by chrishedgate 2009年10月31日土曜日
  55. 55. 今日のまとめ ✓ 粗末なコードは会社を 廃業に追いやる ✓ コーディングは設計 ✓ 私たちに責任がある ✓ 練習あるのみ 2009年10月31日土曜日
  56. 56. 入門 photo by foliosus 2009年10月31日土曜日
  57. 57. 意味のある名前 Meaningful Names photo by foliosus 2009年10月31日土曜日
  58. 58. 明確な名前を付ける int d; // 日単位の経過時間 int elapsedTimeDays; int daysSinceCreation; int daysSinceModification; int fileAgeInDays; photo by foliosus 2009年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 foliosus 2009年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 foliosus 2009年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 foliosus 2009年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 foliosus 2009年10月31日土曜日
  63. 63. コードの中で説明する # 従業員が給与の完全給付を受け取るかどうか チェックする if ((employee.flags & HOURLY_FLAG) && (employee.age > 65)) ... end if employee.eligible_for_full_benefits? ... end photo by foliosus 2009年10月31日土曜日
  64. 64. あとは本で 学んでください!!! photo by foliosus 2009年10月31日土曜日
  65. 65. 今日のまとめ ✓ 粗末なコードは会社を 廃業に追いやる ✓ コーディングは設計 ✓ 私たちに責任がある ✓ 練習あるのみ 2009年10月31日土曜日
  66. 66. 参考 2009年10月31日土曜日
  67. 67. acts_as_agile http://gihyo.jp/dev/serial/01/agile 2009年10月31日土曜日
  68. 68. Coplien and Martin Debate TDD, CDD and Professionalism. http://www.infoq.com/jp/interviews/coplien-martin-tdd_ja 2009年10月31日土曜日
  69. 69. Crasmanship over crap http://blogs.itmedia.co.jp/hiranabe/2008/08/agile2008-rober.html 2009年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 Koji 2009年10月31日土曜日
  71. 71. ご清聴 ありがとう ございました 2009年10月31日土曜日
  72. 72. 各種ご案内 Photo by darashi 2009年10月31日土曜日
  73. 73. Workshop Photo by mrkn 2009年10月31日土曜日
  74. 74. Ruby Sapporo Night 2009年10月31日土曜日
  75. 75. Junkudo Books 2009年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.13 2009年10月31日土曜日

×