2009-12-24 24 views
6

Câu hỏi này không đến từ một lập trình viên. (rõ ràng) Tôi hiện đang có một lập trình viên làm một trang web cho tôi và tôi nhận ra rằng anh ấy sẽ không hoàn toàn tập luyện.Có một lập trình viên khác tiếp quản một dự án hiện có

Anh ấy đã thực hiện khá nhiều công việc và trang web gần như ở đó nhưng tôi cần một người nào đó tốt hơn để sử dụng phần còn lại. Các trang web đã được thực hiện trong asp.net và tôi tự hỏi làm thế nào cứng nó sẽ được cho một lập trình viên có kinh nghiệm hơn để tiếp nhận và hoàn thành công việc ông đã làm?

Nói chung, thật khó cho một lập trình viên asp.net đi vào cuối dự án và sửa những gì cần phải sửa?

Có năm trang khác nhau trên trang web có hai lớp phủ cho đăng ký và đăng nhập. (Năm trang có nhiều phiên bản khác nhau) Có một cơ sở dữ liệu và kịch bản phía máy khách. AJAX cũng được sử dụng. Đó là một trang web hơi tương tự như SO chỉ không khá phức tạp và về một cái gì đó hoàn toàn khác nhau. Tôi sẽ nói suy nghĩ của một cái gì đó mà rơi một nơi nào đó giữa Stackoverflow và danh sách của Craig. Đó là tất cả những gì tôi có thể nói bây giờ vì tôi không biết các từ kỹ thuật.

+3

Nếu bạn có thể cung cấp thêm một chút thông tin về phạm vi của dự án, nó sẽ giúp chúng tôi. Bạn có biết số lượng tệp/trang trong dự án không? Dòng mã? Có cơ sở dữ liệu không? Có bao nhiêu bảng? Có bất kỳ thành phần nào của bên thứ 3 được sử dụng không? Tập lệnh phía máy khách có được sử dụng không? AJAX có được sử dụng không? Mất bao lâu để viết? Nếu bạn không biết câu trả lời, bạn có thể hỏi ai đó làm được không? –

+0

Tôi biết một số câu trả lời đó nhưng hãy để tôi tìm phần còn lại và liên hệ lại với bạn. Cảm ơn Mark. – nick2653

+1

Tại sao bạn nghĩ rằng anh ấy sẽ không làm việc? Bạn có biết chất lượng trung bình của mã của mình không? – SLaks

Trả lời

3

Một ý tưởng hay là để chúng hoạt động cùng nhau, ví dụ, một hoặc hai tuần. Điều này sẽ giúp các lập trình viên mới có được một số đào tạo cần thiết về hệ thống hiện tại của bạn.

+0

Vâng, tôi hy vọng đây là cách tốt nhất để bàn giao một chương trình hiện có cho lập trình viên mới! – sangam

0

Nói chung nếu trang web được thiết lập theo kiểu thời trang tiêu chuẩn thì một lập trình viên khác có thể dễ dàng lấy nó. nếu lập trình viên hiện tại đã làm mọi thứ để che khuất mã thì sẽ khó cho một lập trình viên khác nhặt nó lên. Về cơ bản câu hỏi là làm thế nào có thể đọc được mã?

5

Phụ thuộc vào mức độ hiệu quả của lập trình viên trước đó và độ phức tạp của dự án. Nó có thể là bất cứ điều gì giữa tầm thường (nguồn nhận xét tốt, một số tài liệu cấp cao, bài kiểm tra đơn vị, dự án mô-đun hoặc đơn giản), để "crap này cần viết lại hoàn toàn" (không có tài liệu, tùy chỉnh "hãy thử giải pháp này, v.v.) . Nếu bạn không phải là một nhà phát triển nó có thể thực sự khó để nói. Và những người khác sẽ không thể trả lời mà không có thêm chi tiết.

16

Có thể bạn sẽ thấy rằng lập trình viên mới sẽ muốn viết lại hầu hết mã từ đầu. Nếu bạn đang ở trên một thời hạn chặt chẽ hoặc ngân sách eo hẹp và không thể chấp nhận viết lại hoàn toàn thì bạn sẽ cần phải thuê một người không chỉ giỏi viết mã tốt, mà còn giỏi đọc, tái cấu trúc và cải thiện mã xấu. Đó là hai kỹ năng hoàn toàn khác nhau và thứ hai hiếm hơn nhiều. Tùy thuộc vào chất lượng của mã hiện có (và tôi giả định ở đây là nó không tốt), lập trình viên mới của bạn có thể sẽ viết lại nhiều mã nguồn hiện có chỉ để hiểu những gì đang diễn ra.

+0

+1 ... Tôi sắp sửa nói điều tương tự :) – Mongoose

+5

Nó không chỉ là một tài năng hiếm hơn, nó còn là một tài năng * đắt tiền * nữa. – GrayWizardx

+0

+1 ... Tôi sắp sửa nói điều tương tự. Nếu bạn không giàu có, và có một số lượng hạn chế thời gian, bạn phụ thuộc vào lập trình cũ của bạn một chút. Đầu tiên hãy thử kiểm tra xem không có cách nào bạn có thể làm cho nó làm việc với anh ta bằng cách nào đó. Thay đổi lập trình viên sẽ bị tổn thương. Để nói chính xác như thế nào, ai đó sẽ phải xem mã của bạn. –

5

Tôi không có chuyên gia asp.net, nhưng tôi nghi ngờ việc thay thế sẽ có thể hoàn thành dự án sẽ phụ thuộc chủ yếu vào công việc mà một lập trình viên actaully đầu tiên đã làm. Mã xấu là rất khó để sửa chữa bằng bất kỳ ngôn ngữ nào. :)

1

Bạn có thể thấy rằng mặc dù trang web gần như hoàn tất, người kế thừa sẽ phải dành nhiều thời gian hơn dự đoán khi thực hiện thay đổi, vì người này sẽ có mô hình phần mềm tinh thần mà nhà phát triển hiện tại có. Do đó sự cần thiết phải phát triển tiếp theo để "viết lại" cơ sở mã.

Nếu có thể, bạn sẽ muốn đảm bảo rằng cơ sở mã mà bạn đã tạo được duy trì. Đó là, giải pháp được xây dựng theo cách mà nó có thể hỗ trợ thay đổi dễ dàng. Như Mark Byers đã đề xuất, bạn sẽ muốn có được một người không chỉ có thể lập trình mà còn có thể tái hoạt động mã hiện có của bạn với mục tiêu là người khác chắc chắn sẽ thực hiện các thay đổi trong tương lai. Nếu phần mềm là thứ bạn cần tiếp tục làm việc trong thời gian dài, bạn sẽ muốn đầu tư vào việc đảm bảo rằng chức năng mới có thể được thêm dễ dàng.

1

Hãy nhớ trải nghiệm này được mô tả tại The Daily WTF. Có biện pháp phòng ngừa thích hợp.

+0

Tôi lấy gánh nặng để đọc điều này, thật tuyệt vời khi tôi đã đặt dấu chấm này cho một tkx – stacker

0

Nếu lập trình viên hiện tại không muốn truyền đạt trạng thái thực sự của dự án một cách chuyên nghiệp, phi kỹ thuật, hãy cho anh ta tối hậu thư - theo cách của bạn hoặc đường cao tốc. Tỷ lệ cược là anh ta sẽ được sắp tới hơn nếu anh ta biết bạn có nghĩa là kinh doanh. Hãy chắc chắn rằng bạn có một bản sao của mã mới nhất trước khi chuốt chủ đề.

Có vẻ như bạn sắp kết thúc việc thuê người khác, đặc biệt nếu bạn hỏi những loại câu hỏi này ở giai đoạn này, vì vậy bạn cũng có thể bị phá vỡ.

Như Mark Byers cho biết, phải mất một nhà phát triển dày dạn để lấy mã của người khác và chống lại sự thôi thúc "làm đẹp" để đưa dự án đến một kết luận làm việc!

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