Lập trình đôi

Lập trình đôi (tiếng Anh: Pair Programming) là kiểu lập trình đòi hỏi hai kỹ sư phần mềm cùng tham gia một nỗ lực lập trình chung trên một máy trạm, nghĩa là chỉ có một màn hình, một bàn phím. Mỗi người thực hiện việc mà người kia hiện không làm. Ví dụ, người này gõ các bộ test đơn vị (unit test), người kia nghĩ về các lớp đầu vào (input) sẽ thỏa mãn bộ test đó; hoặc người này viết mã còn người kia quan sát để hướng dẫn hoặc kiểm lỗi. Người ta khuyên rằng hai người nên luân phiên đổi vai trò, khoảng nửa giờ một lần.

Ưu điểm

[sửa | sửa mã nguồn]

Lập trình đôi được quảng cáo là đem lại các lợi ích sau (theo thứ tự từ lớn tới nhỏ):

  • Tăng kỷ luật làm việc. Những người làm việc theo cặp thường có xu hướng "làm đúng" hơn và ít nghỉ giải lao dài.
  • Mã chương trình tốt hơn. Những người làm việc theo cặp ít có xu hướng chọn giải pháp ngõ cụt mà thường cho ra các thiết kế với chất lượng cao hơn.
  • Duy trì tốt luồng làm việc. Người này có thể người kia xem cả hai đang làm đến đâu. Nếu bị ngắt quãng, một người giải quyết ngắt quãng trong khi người kia tiếp tục làm việc.
  • Nâng cao tinh thần. Với một số lập trình viên, làm việc theo cặp có thể vui vẻ hơn.
  • Sở hữu tập thể đối với mã chương trình. Khi mọi người trong một dự án đều làm việc theo cặp, và các cặp thường xuyên quay vòng, thi ai cũng có kiến thức về toàn bộ mã nguồn.
  • Cố vấn. Kể cả những lập trình viên mới vào nghề, người nào cũng biết một cái gì đó mà người khác không biết. Lập trình đôi là một cách nhẹ nhàng cho việc lan tỏa kiến thức đó.
  • Gắn kết nhóm. Các thành viên trong nhóm gắn bó với nhau nhanh hơn khi làm việc theo cặp. Lập trình đôi có thể khuyến khích sự gắn bó trong nhóm.
  • Ít ngắt quãng hơn. Người ta thường ngại làm đứt quãng một nhóm người (đôi) hơn là ngắt quãng một người đang làm việc một mình.
  • Đòi hỏi ít máy trạm hơn, do hai người dùng chung một máy.

Khuyết điểm

[sửa | sửa mã nguồn]
  • Các lập trình viên nhiều kinh nghiệm có thể cảm thấy nhàm chán khi hướng dẫn một lập trình viên ít kinh nghiệm trong một môi trường lập trình đôi.
  • Nhiều kỹ sư thích làm việc một mình hơn, và có thể thấy môi trường lập trình đôi rất cồng kềnh.
  • Khó so sánh được và mất giữa các môi trường đôi và không đôi, do các phương pháp đo năng suất lập trình viên còn đang gây nhiều tranh cãi.
  • Các khác biệt trong phong cách viết mã có thể gây ra xung đột.
  • Trong trường hợp các thành viên trong lập trình có lịch làm việc lệch nhau (điều thường thấy trong các môi trường coi trọng sự cân bằng giữa công việc và cuộc sống), thời gian làm việc theo cặp ít đi, dẫn tới việc tăng thời gian hoàn tất công việc.
  • Khi một công ty đánh giá cao việc làm việc từ xa (làm việc tại nhà), hay khi một nhân viên phải làm việc tại nhà vì lý do nào đó, việc lập trình đôi có thể khó khăn hoặc không thể thực hiện được.
  • Không hiểu ý nhau giữa 2 lập trình viên

Tham khảo

[sửa | sửa mã nguồn]
Chúng tôi bán
Bài viết liên quan
Tóm tắt chương 221: Cho và nhận - Jujutsu Kaisen
Tóm tắt chương 221: Cho và nhận - Jujutsu Kaisen
Bài viết sẽ tiết lộ nội dung truyện tuy nhiên thì các bạn chắc cũng biết luôn rồi: Gojo Satoru quay trở lại
Tổng quan nguồn gốc và thế giới Goblin Slayer
Tổng quan nguồn gốc và thế giới Goblin Slayer
Khi Truth và Illusion tạo ra Goblin Slayer, số skill points của GS bình thường, không trội cũng không kém, chỉ số Vitality (sức khỏe) tốt, không bệnh tật, không di chứng, hay có vấn đề về sức khỏe
Cách quản lý thời gian để học tập sao cho tốt
Cách quản lý thời gian để học tập sao cho tốt
Cùng tìm hiểu cách quản lý thời gian tối ưu cho việc học tập của một học bá Đại học Bắc Kinh
Có những chuyện chẳng thể nói ra trong Another Country (1984)
Có những chuyện chẳng thể nói ra trong Another Country (1984)
Bộ phim được chuyển thể từ vở kịch cùng tên của Julian Mitchell về một gián điệp điệp viên hai mang Guy Burgess