ScrumDay Vietnam 2012- Thực hành XP với Coding Dojo - Tu,Doi
1. Thực hành XP với Coding
Dojo
Nguyễn Ngọc Tú
Phạm Anh Đới
2. Nội dung
Giới thiệu về Coding Dojo
Cách làm việc của Coding Dojo
Phương pháp XP trong Coding Dojo
Conway’s Game of life
9/12/2012 XP trong Coding Dojo 2
3. Coding Dojo đầu tiên
Tại Paris, Tháng 12-2004
Lập trình trước công chúng,
Viết một chương trình hoàn chỉnh trong khoảng(1 -
1,5h).
Dùng nhiều ngôn ngữ, công cụ và các dạng bài tập
Một bài tập được coi là thành công khi được hoàn
thành trong thời gian định trước và người tham gia
có thể tự mình làm lại bài tập đó tại nhà.
9/12/2012 XP trong Coding Dojo 3
4. Định nghĩa Coding Dojo
Là buổi gặp gỡ của nhóm lập
trình viên để cùng nhau vượt
qua một thử thách
Giúp thành viên nâng cao
trình độ, kỹ năng trong không
khí vui vẻ
9/12/2012 XP trong Coding Dojo 4
5. Quy trình làm việc
Cải tiến
Code
Thảo tiếp
Code luận
Giới
thiệu
chủ đề
9/12/2012 XP trong Coding Dojo 5
6. XP trong Coding Dojo
Lập trình theo cặp
(Pair Programming)
Tái cấu trúc
(Refactoring)
Phát triển hướng kiểm thử
(TDD- Test Driven Development)
9/12/2012 XP trong Coding Dojo 6
7. Lập trình theo cặp
Người lái (Driver)
Trực tiếp viết mã
Hoa tiêu(Navigator)
Theo dõi người lái và
liên tục bình luận
9/12/2012 XP trong Coding Dojo 7
8. Phát triển hướng kiểm thử
Bạn chỉ bắt đầu lập trình khi thiết kế xong kiểm thử
9/12/2012 XP trong Coding Dojo 8
9. Phát triển hướng kiểm thử
Viết
kiểm
thử
Vượt
Tái cấu qua
trúc kiểm
thử
9/12/2012 XP trong Coding Dojo 9
10. XP trong Cocodojo – Tái cấu trúc
Tái cấu trúc là thay đổi cấu trúc bên trong mà không
làm thay đổi hành vi với bên ngoài của hệ thống
Martin Fowler
9/12/2012 XP trong Coding Dojo 10
11. Thiết Kế Đơn Giản - 4 quy tắc
1. Vượt qua tất cả kiểm thử
2. Mục đích rõ ràng
3. Không lặp lại hành vi hoặc cấu hình
4. Hạn chế số lượng phương
thức, lớp, trừu tượng hóa, vv
9/12/2012 XP trong Coding Dojo 11
14. Workshop – Game of Life
Game of life là bài
toán thuộc lĩnh
vực cellcular
automaton được
đưa ra bởi John
Horton
Conway vào năm
1970.
9/12/2012 XP trong Coding Dojo 14
15. Workshop – Game of Life
Là mạng lưới các ô tạo nên một không gian hai chiều
không giới hạn.
Trạng thái của ô: sống hoặc chết
Mỗi ô có 8 ô liền kề
Trạng thái tiếp theo của ô được quyết định theo quy tắc:
1. Ô đang sống mà có ít hơn hai hàng xóm đang sống sẽ chết
2. Ô đang sống mà có nhiều hơn 3 hàng xóm đang sống sẽ chết
3. Ô đang sống mà có 2 hoặc 3 hàng xóm đang sống sẽ tiếp tục
4. Ô chết mà có đúng 3 hàng xóm đang sống sẽ chuyển thành ô sống
9/12/2012 XP trong Coding Dojo 15
ĐớiGiới thiệuchủđề (10 phút): QuyếtđịnhchủđềcủabuổigặpnàyCode (40 phút)Thảoluận (10 phút): Nghỉgiữa phiên làmviệcđểthảoluận xem cáchmọiviệc đang diễn ra.Code thêm (40 phút)Cải tiến (30 phút): Xem nhanh lại những gì của buổi trước, những gì tốt, thú vị, những gì còn chưa tốt
Đới
Tú
Đới
Đới
TúCode reorganizationImplies equivalenceChange the structure, not the behaviorCleans up “code-smell”Does NOT fix bugs