Your SlideShare is downloading. ×
Coderetreat
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Coderetreat

1,344
views

Published on

What is _coderetreat_

What is _coderetreat_


0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,344
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
1
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Code Retreat
  • 2. ソフトウエア職人だけでなくプロの開発者なら誰であれ生涯学習とスキルの継続的な改善を気にす るべきだろう
  • 3. 成功するソフトウエア開発に 必要なのは幅広い技術力でありチームで 開発に取り組むことだ
  • 4. そして、その技術の実践が何よりも重要だ
  • 5. 残念ながら日々のワークフローと技術力の効率的な習得を 両立するのは難しい
  • 6. 一時的にであれ、 技術力の習得に専念できる環境を作るのが CodeRetreats の目的だ
  • 7. Code Retreat
  • 8. このアイディアは繰り返し実施できるソフトウエア開発の基礎演習に丸 1 日を費やすというものだ
  • 9. Code Retreat
  • 10. この演習では単純な課題 ( ライフゲーム ) に、 複数のセッションを通じて 繰り返し取り組む
  • 11. 各セッションでは特定のソフトウエア開発と設計 の領域の学習を行う
  • 12. 例えば、ペアプログラミングや TDD だ
  • 13. ライフゲームは単純なたった 3 つのルールで自動的に動く細胞の集まりで、理解しやすい一方、異なる開発手法やソフトウエア設計上のアイディアを探索するには好都合な題材だ
  • 14. Code Retreat
  • 15. Code Retreats のアイディア は 2009 年 1 月のCodemash カンファレンスで 生まれ継続的な改善を経て 世界中で実施されている。
  • 16. Global Day of Coderetreatというイベントが 2011,12,3 に世界同時開催
  • 17. プログラミング技術の 習得という観点でひとつのスタンダード と言っても 過言ではありません
  • 18. Code Retreat
  • 19. 演習に含まれるのは● シンプルな設計のための 4 つのルール● OO の原則 (SOLID)● 心からの TDD● 関数型プログラミング● 継続的リファクタリング● 悪い習慣を利用する : 手動テストかテスト無し● オブジェクト健康体操● ペアプログラミングとコミュニケーション● ピンポンペア
  • 20. 参考まで● シンプルな設計のための 4 つのルール http://c2.com/cgi/wiki?XpSimplicityRules● OO の原則 (SOLID) http://en.wikipedia.org/wiki/SOLID_(object-oriented_design)● 心からの TDD http://gojko.net/2009/08/02/tdd-as-if-you-meant-it-revisited/● 継続的リファクタリング http://c2.com/cgi/wiki?RefactorMercilessly● オブジェクト健康体操 http://www.cs.helsinki.fi/u/luontola/tdd-2009/ext/ObjectCalisthenics.pdf● ピンポンペア http://c2.com/cgi/wiki?PairProgrammingPingPongPattern
  • 21. シンプルな設計のための 4 つのルール● PASS ALL TESTS● CLEAR, EXPRESSIVE, & CONSISTENT● DUPLICATES NO BEHAVIOR OR CONFIGURATION● MINIMAL METHODS, CLASSES, & MODULES
  • 22. OO の原則 (SOLID)● Single responsibility principle● Open/closed principle● Likov substitution principle● Interface segregation principle● Dependency inversion principle
  • 23. Single responsibility principlean object should have only a single responsibility.
  • 24. Open/closed principlesoftware entities … should be open forextension, but closed for modification
  • 25. Likov substitution principleobjects in a program should be replaceable withinstances of their subtypes without altering thecorrectness of that program
  • 26. Interface segregation principle many client specificinterfaces are better than one general purpose interface
  • 27. Dependency inversion principle one should “Depend upon Abstractions. Do not dependupon concretions.” Dependency injection is one method of following this principle.
  • 28. オブジェクト健康体操● One level of indentation per method● Dont use the ELSE keyword● Wrap all primitives and Strings● First class collections● One dot per line● Dont abbreviate● Keep all entities small● No classes with more than two instance variables● No getters/setters/properties
  • 29. Pair Programming Ping Pong Pattern● A writes a new test and sees that it fails.● B implements the code needed to pass the test.● B writes the next test and sees that it fails.● A implements the code needed to pass the test.
  • 30. 提供Global Day of Code Retreat http://goo.gl/Cru1t

×