20091030 Uncle Bob Said You Should Be A Professional With Clean Code
-
Upload
koji-shimada -
Category
Technology
-
view
9 -
download
2
description
Transcript of 20091030 Uncle Bob Said You Should Be A Professional With Clean Code
ボブおじさんの夢を見た
しまだ こうじSHIMADA Koji
日本Rubyの会Ruby札幌
Uncle Bob said you should be a professional with clean code.2009-10-30 Ruby Sapporo Night vol.12アップルストア札幌
2009年10月31日土曜日
提供
Ruby札幌From Sapporo, with Love for Ruby.
2009年10月31日土曜日
しまだ こうじ島田 浩二
Photo by tmaeda
2009年10月31日土曜日
Sapporo is a beautiful provincial city of Japan.
Photo by enggul
2009年10月31日土曜日
2009年10月31日土曜日
2009年10月31日土曜日
2009年10月31日土曜日
2009年10月31日土曜日
from Sapporo,with Love for Ruby
Photo by darashi
2009年10月31日土曜日
日本Rubyの会2009年10月31日土曜日
一般社団法人 LOCAL
2009年10月31日土曜日
2009年10月31日土曜日
2009年10月31日土曜日
e "rst editionstill in store.
2009年10月31日土曜日
どうぞよろしく
お願いします2009年10月31日土曜日
ボブおじさんの夢を見た
しまだ こうじSHIMADA Koji
日本Rubyの会Ruby札幌
Uncle Bob said you should be a professional with clean code.2009-10-30 Ruby Sapporo Night vol.12アップルストア札幌
2009年10月31日土曜日
設計とプログラミングは人間的な活動である。それを忘れると、すべて失う。
- Bjarne Stroustrup
2009年10月31日土曜日
Today’s Topic:
2009年10月31日土曜日
A Handbook of Agile Software Craftsmanship
2009年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界ではそれが「正統」になっている。
http://capsctrl.que.jp/kdmsnr/wiki/bliki/?RailsConf20072009年10月31日土曜日
Who’s who:
2009年10月31日土曜日
Photo by chrishedgate
Robert C. Martin2009年10月31日土曜日
Object Mentor Inc.
2009年10月31日土曜日
A Handbook of Agile Software Craftsmanship
2009年10月31日土曜日
動作するきれいなコード
“Clean Code that works”
2009年10月31日土曜日
2009年10月31日土曜日
「動作するきれいなコード」、この Ron Jefferies の簡潔な言葉こそが
TDD のゴールである
Clean Code that works, in Ron Jefferies’ pretty phrase, is the goal of Test-Driven Development(TDD).
2009年10月31日土曜日
2009年10月31日土曜日
SOLID PrincipleSRP Single ResponsibilityOCP Open-ClosedLSP Liscov Substitution
ISP Interface SegregationDIP Dependency Inversion
2009年10月31日土曜日
SOLID PrincipleSRP 単一責務の原則OCP オープン・クローズドの原則LSP リスコフの置換原則ISP インターフェイス分離の原則DIP 依存関係逆転の原則
2009年10月31日土曜日
✓クラスを変更する理由は一つ以上存在してはならない
✓ソフトウェアの構成要素は拡張に対して開いて、修正に対して閉じていなけければならない
✓派生型はその基本型と置換可能でなくてはならない
✓抽象に依存せよ2009年10月31日土曜日
高凝集疎結合
2009年10月31日土曜日
安易なショートカットを選んではならない
- Masatoshi SEKI
2009年10月31日土曜日
2009年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.Reeves
2009年10月31日土曜日
ソフトウェア設計とは何か?
✓ 設計: ソースコード✓ 製造: ビルド
2009年10月31日土曜日
コーディングは設計であり、テスティングとデバッギングも設計の一部であり、私たちが一般的にソフトウェア設計と呼んでいるものもやはり設計の一部なのです
2009年10月31日土曜日
Dave Thomas says:
2009年10月31日土曜日
ソフトウェアエンジニアリングという言葉はありません。少なくともまだないです。これ以上ないところまで削るのがエンジニアリング。これ以上削れないところまで削るということは、どこまで削るとそれが壊れてしまうかわかっているということです。
2009年10月31日土曜日
まだソフトウェアに関しては我々はそのレベルまで達していないんです。達していないから、ソフトウェアエンジニアリングという言葉は、まだ嘘なのです。我々がしているのは、ただのコーディングです。
- Dave Thomas
2009年10月31日土曜日
ボーイスカウトの規則
photo by sunflowerdave
2009年10月31日土曜日
洗練されたコードは、どうして、こうも早く粗悪なコードへと変質してしまうのでしょう? ... 間違っているのは我々自身なのです。これでは、我々はプロとは呼べないのです。...つまり、あなたがそれに負けない熱意をもって、コードを守ればよいのです
ーー クリーンコード、ロバート・C・マーチン
2009年10月31日土曜日
We who cut mere stones must always be envisioning
cathedrals.ー e Pragmatic Programmer
2009年10月31日土曜日
いち開発者である自分には企業資産(つまりコードベース全体)の価値を低下させるような権限はない
- Shintaro KAKUTANI
2009年10月31日土曜日
2009年10月31日土曜日
Programmers areResponsible Professionals.
- Martin Fowler
2009年10月31日土曜日
Photo by chrishedgate
Robert C. Martin2009年10月31日土曜日
今日のまとめ✓ 粗末なコードは会社を廃業に追いやる
✓ コーディングは設計✓ 私たちに責任がある✓ 練習あるのみ
2009年10月31日土曜日
photo by foliosus
入門2009年10月31日土曜日
photo by foliosus
意味のある名前Meaningful Names
2009年10月31日土曜日
photo by foliosus
int d; // 日単位の経過時間
int elapsedTimeDays;int daysSinceCreation;int daysSinceModification;int fileAgeInDays;
明確な名前を付ける
2009年10月31日土曜日
photo by foliosus
public List<int[]> getThem() { List<int[]> list1 = new ArrayList<int[]>(); for (int[] x : the List) if (x[0] == 4) list1.add(x); return list1;}
明確な名前を付ける
2009年10月31日土曜日
photo by foliosus
public List<Cell> getFlaggedCells() { List<Cell> flaggedCells = new ArrayList<Cell>(); for (Cell cell : gameBoard) if (cell.isFlagged()) flaggedCells.add(cell); return flaggedCells;}
明確な名前を付ける
2009年10月31日土曜日
photo by foliosus
class DtaRcrd102 { private Date genymdhms; private Date modymdhms; private final String pszqint = ...;
発音可能な名前を付ける
class Customer { private Date generationTimestamp; private Date modyficationTimestamp; private final String recordid = ...;
2009年10月31日土曜日
photo by foliosus
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;}
2009年10月31日土曜日
photo by foliosus
# 従業員が給与の完全給付を受け取るかどうかチェックするif ((employee.flags & HOURLY_FLAG) && (employee.age > 65)) ...end
if employee.eligible_for_full_benefits? ...end
コードの中で説明する
2009年10月31日土曜日
photo by foliosus
あとは本で学んでください!!!
2009年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_ja2009年10月31日土曜日
http://blogs.itmedia.co.jp/hiranabe/2008/08/agile2008-rober.html
Crasmanship over crap
2009年10月31日土曜日
ボブおじさんの夢を見た
しまだ こうじSHIMADA Koji
日本Rubyの会Ruby札幌
Uncle Bob said you should be a professional with clean code.2009-10-30 Ruby Sapporo Night vol.12アップルストア札幌
2009年10月31日土曜日
ご清聴ありがとうございました
2009年10月31日土曜日
Photo by darashi
各種ご案内
2009年10月31日土曜日
Workshop
Photo by mrkn
2009年10月31日土曜日
Ruby Sapporo Night2009年10月31日土曜日
Junkudo Books2009年10月31日土曜日
02
Check ItOut!
2009年10月31日土曜日
Join Us!
2009年10月31日土曜日
ご参加お待ちしています
2009年10月31日土曜日
Ruby Sapporo Nightvol.13coming soon
2009年10月31日土曜日