Những quy tắc của coderetreat

,

Nhóm nào cũng tuân thủ

  1. Lập trình cặp (Pair Programming): Bạn đã có ai để cặp chưa? Đừng lo, tới sự kiện bạn sẽ kiếm được cạ của mình. Nhưng đừng vội mừng kiếm được cạ rất ưng ý, bởi sau mỗi phiên đối tác của bạn sẽ phải ra đi. Autumn Coderetreat 2017 có 5 phiên (session) làm việc vậy nên bạn có cơ hội cặp với 5 người khác nhau đấy!
  2. Phát triển Hướng Kiểm thử (Test Driven Development – TDD): Bạn đã biết phương pháp code này chưa? Nếu chưa, chớ ngại ngần trong việc đi tìm đối tác biết TDD, cùng lắm là sau 1 phiên làm việc (45′) là bạn TDD nhoay nhoáy thôi! Còn bạn đã thực hành TDD rồi, hãy thực hành nó hoặc dạy cho đối tác của mình về nó nhé. “Một người thạo, hai người vui” :o)
  3. Thiết kế Đơn giản (Simple Design): 4 quy tắc về Thiết kế Đơn giản bạn đã biết rồi chứ? Hãy thực hành nó nhé. Nếu không, chúng cũng không khó khăn để bạn tuân thủ đâu. Cứ đọc kỹ bên dưới là bạn sẽ rõ thôi. Bằng không, đối tác của bạn hoặc các facilitator sẽ giúp bạn hiểu và thực hành chúng.

Cặp nào, quy tắc ấy

Ngoài 3 quy tắc mà nhóm nào cũng phải tuân thủ ở trên, coderetreat còn định nghĩa một loạt các quy tắc khác để các nhóm sử dụng cho các phiên làm việc của mình. Những tuy tắc này là tùy chọn đối với mỗi nhóm, phụ thuộc vào mong muốn nhóm đó muốn rèn luyện kỹ năng\kỹ thuật nào trong lập trình. Dưới đây là danh sách các quy tắc tùy chọn này, đầu phiên làm việc nhóm thảo luận rồi chọn một hoặc một số trong những quy tắc này và tuân thủ chúng suốt phiên làm việc của mình.

  1. No conditional statements
  2. No loops
  3. No mouse
  4. No keyboard shortcut
  5. No naked primitives
  6. Paper only
  7. Text editor only
  8. Max 8|6|4 lines per method
  9. TDD as if you meant it
  10. Other

 

Tìm hiểu nhanh về CodeRetreat

,

Codetreat là gì?

“Retreat” đang là xu hướng. Nhiều người sẽ nghĩ đó là một cuộc trải nghiệm sự tĩnh tâm trong một tu viện. Các lập trình viên thì biết đến thuật ngữ CodeRetreat: Một hình thức học tập đã được thực chứng, nơi bạn tập trung toàn bộ thời gian, khả năng của mình cho việc viết và thiết kế ra những mã tốt mà không chịu áp lực của công việc thường ngày. Qua đó bạn có cơ hội cải tiến kỹ năng, nâng cao kiến thức của mình trong phát triển phần mềm – Bạn được làm điều này mà không bị vướng bận bởi các dự án hiện tại và các deadline bủa vây bạn hằng ngày.

Coderetreat là sự kiện thực hành lập trình chuyên sâu trong một ngày, các hoạt động trong sự kiện tập trung vào những nguyên tắc cơ sở của phát triển và thiết kế phần mềm. Bằng việc tạo cho các nhà phát triển cơ hội để tham gia thực hành có chủ ý, tránh xa những áp lực phải “làm xong hết mọi thứ”, format của coderetreat đã chứng tỏ nó có hiệu quả cao trong việc nâng cao kỹ năng. Luyện tập các nguyên tắc cơ sở của thiết kế theo mô-đun và hướng đối tượng, các nhà phát triển có thể cải thiện khả năng viết mã với chi phí tối thiểu cho sự thay đổi theo thời gian.

Coderetreat không phải là một cuộc hội thảo về công nghệ! Các quy tắc làm việc của sự kiện này hoàn toàn khác, người tham dự tích cực tham gia vào việc viết mã: thực hành rất nhiều, lắng nghe đôi chút.

Cha đẻ của CodeRetreat là Corey Haines, ông và một số bạn bè khác đã đưa ra ý tưởng này từ năm 2009. Bạn có thể tham khảo thêm các thông tin khác về Coderetreat trên trang web http://coderetreat.org

Tại sao tôi nên tham dự?

  1. Có cơ hội thực hành và học những nguyên tắc và kỹ năng căn bản\nền tảng của software craftsmanship (nghề thủ công phần mềm) như Thiết kế Đơn giản (Simple Design), Thiết kế Tiến hóa (Evolutionary Architecture\Emergent Design), Thiết kế Theo Mô đun (Modular Design), Phát triển Hướng Kiểm thử (Test Driven Development – TDD), Các nguyên tắc của OOP, Clean Code, Refactoring, v.v.;
  2. Được tham gia vào Thực hành có Chủ ý , tránh xa những áp lực của công việc thường ngày. Nâng cao kỹ năng của một thợ thủ công phần mềm và khả năng tạo ra các sản phẩm phần mềm có chất lượng cao, giảm thiểu chi phí thay đổi theo thời gian;
  3. Thoát khỏi áp lực deadline\dự án để thoải mái thử nghiệm những ý tưởng mới;
  4. Có cơ hội cải thiện tiến kỹ năng, nâng cao kiến thức của mình trong phát triển phần mềm;
  5. Được giao lưu học hỏi từ người khác, người có kinh nghiệm hơn và thể hiện mình;
  6. Cơ hội gặp gỡ và thảo luận với những thợ thủ công phần mềm cũng như những người quan tâm tới nghề thủ công phần mềm tới từ nhiều nơi trong một phạm vi rộng lớn
  7. Và hơn thế nữa… !