2008-09-26 37 views
7

Trong công ty của tôi, chúng tôi nhận được trên và ngoài nhà thầu bờ trong và ngoài tất cả các thời gian. Rất khó để duy trì một cơ sở mã như vậy vì mức độ trưởng thành trong mã viết thay đổi đáng kể. Ở một mức độ nhất định, vai trò của tôi bao gồm cố vấn tài nguyên phát triển. Tôi đã tìm thấy rằng nếu tôi chỉ để cho họ mã, tôi sẽ nhận được một cái gì đó rất ngây thơ đặt lại với nhau. Cách tốt nhất để dạy cho những người đã là nhà phát triển cách thức và thời điểm sử dụng giao diện, trừu tượng, gói, mẫu thiết kế, phản chiếu, v.v.Làm thế nào để bạn dạy những thứ mà lập trình tốt được tạo ra?

Trả lời

4

Câu hỏi của bạn lớn hơn lập trình và CNTT, tất nhiên - nó thực sự trở thành trọng tâm của lý thuyết giảng dạy - cách tốt nhất để truyền đạt kiến ​​thức từ người này sang người khác.

Chúng tôi biết một số vấn đề cơ bản - tỷ lệ sinh viên/giáo viên nhỏ, v.v. Và bạn không thể thực hiện công việc cho sinh viên nếu bạn muốn họ làm chủ điều gì đó.

Vì vậy, những gì chúng ta có thể lấy đi khỏi điều này? Hãy chắc chắn rằng bạn có tiêu chuẩn nhất quán về nơi bạn muốn "sinh viên" của bạn để có được. Đảm bảo rằng bạn có tài liệu chất lượng mà họ có thể học hỏi. Bạn phải có một phương pháp để làm điều này, nếu không bạn sẽ thấy rằng bạn đang lãng phí rất nhiều thời gian quý báu của riêng bạn. Kèm cặp là cực kỳ quan trọng, nhưng một lần nữa, học sinh của bạn sẽ cần phải có đủ điều kiện để học một mình sau khi được chỉ dẫn đúng hướng.

Vậy làm thế nào để bạn dạy các khái niệm lập trình nhập khẩu vượt quá cú pháp?

Cá nhân, tôi thích cố vấn và cung cấp các ví dụ hay mà nhà phát triển cơ sở có thể nghiên cứu để tìm hiểu các thông tin chi tiết về bản thân.

Và đừng quên rằng họ cần chỗ để phạm sai lầm, nhưng những lỗi đó phải bị bắt và sửa chữa.

1

Câu trả lời của bạn là câu hỏi của bạn. Cách duy nhất tôi đã tìm thấy để làm điều đó là để cố vấn cho các nhà phát triển trẻ, từng người một. Điều đó có nghĩa là phù hợp với khả năng phát triển dự án khó khăn, và dành thời gian hướng dẫn họ đi đúng hướng.

Chỉnh sửa: Nhìn lại câu hỏi của bạn, tôi nghĩ có lẽ câu trả lời của tôi không tốt lắm. Trừ khi họ là dài hạn (và có lẽ không ở nước ngoài), tôi không nghĩ rằng bạn sẽ có nhiều may mắn cố vấn nhà thầu. Bạn sẽ nhận được những gì bạn nhận được. Hãy ghi nhớ điều đó khi bạn thuê.

1

Làm cho mọi người bắt đầu với bảo trì. Chỉ bằng cách học cách bảo trì đau đớn trên mã xấu là bạn có thể học không chỉ cách viết mã tốt, mà còn có động lực để thực sự làm như vậy.

1

Tôi khuyên bạn nên đảm bảo rằng các đánh giá mã bằng cách nào đó được tích hợp vào quá trình phát triển của bạn. Không phải loại đối đầu (hai hay nhiều người xem xét tập hợp với người lập trình trong phòng họp, với kết quả của việc xé nát nó), nhưng nhiều hơn một đối một, đi qua những gì được viết. Từ những gì bạn mô tả, có vẻ như các nhà phát triển của bạn ở xa về mặt địa lý, do đó làm cho việc xem xét mã hiệu quả trở nên khó khăn. Tuy nhiên, kiên trì trong điều này sẽ là đáng giá. Cuộc trò chuyện thoại thời gian thực, với mã ở phía trước của cả hai bạn, sẽ là tốt nhất, nếu bạn không thể gặp mặt trực tiếp.

Miễn là bạn tham gia vào các đánh giá như vậy với mục tiêu giúp nhà phát triển của bạn trở nên tốt hơn, cả hai bạn sẽ được hưởng lợi.

1

"Giảng dạy" có thể không phải là cách tiếp cận phù hợp với những gì bạn muốn. Bạn muốn họ sử dụng kiến ​​thức và làm cho mọi thứ tốt hơn và liên tục làm điều đó là một cách hơi khác để xem mọi thứ. Nhà phát triển có loại danh tiếng nào? Những loại lợi ích nào họ nhận được nếu họ sử dụng giao diện, trừu tượng, gói, mẫu thiết kế, phản chiếu, v.v.theo cách bạn muốn? Họ muốn những loại lợi ích gì? Đó là những câu hỏi mà bạn nghĩ đến đôi khi nếu bạn có thể tìm thấy điều gì thúc đẩy ai đó, đó là chìa khóa thay vì chỉ đơn thuần giả định rằng vấn đề nằm trong "Kỹ thuật". Để biết thêm về sự khác biệt, hãy xem this article tại "Sources of Insight" là blog tuyệt vời về các mẫu và thực tiễn, IMO.

+0

Cảm ơn bạn đã trả lời. Tôi chắc chắn sẽ đọc! – fnCzar

3

Lập trình ghép nối là tuyệt vời cho điều này, vì nó giống như đánh giá mã liên tục. Cơ sở sẽ học SOOOOO nhiều từ cấp cao về thiết kế: "giao diện, trừu tượng, gói, mẫu thiết kế, phản chiếu, v.v ..."

+0

chắc chắn! suy nghĩ về điều đó, tôi đã phải theo cặp lập trình trong công việc đầu tiên của tôi ra khỏi trường và tôi thấy nó rất hữu ích. – fnCzar

Các vấn đề liên quan