2010-07-07 40 views
6

Tôi làm việc trên một dự án EMF. Một trong những quyết định thiết kế không phải là chạm vào mã được tạo ra và không phải để kiểm tra nó. Thay vào đó, bất cứ khi nào một cái gì đó cần phải được thay đổi, một lớp con được tạo ra có chứa các thay đổi. Khung công tác đủ linh hoạt để giải quyết vấn đề này. Tuy nhiên, tôi trải nghiệm một số chi phí công việc.Thay đổi mã đã tạo hoặc sử dụng thừa kế?

Quyết định thiết kế đã được thực hiện trên cơ sở trải nghiệm không tốt với các khung công tác tạo mã khác đã được tái tạo cho các vấn đề.

Là người mới tham gia dự án tôi muốn thách thức quyết định thiết kế đó nhưng muốn nghe ý kiến ​​chung trước tiên. Tôi biết rằng nhóm dự án EMF đề xuất các thay đổi trong mã. Nhưng kinh nghiệm của bạn là gì? EMF xử lý các thay đổi mã thủ công trong mã được tạo ra như thế nào? Bạn đã bao giờ đến một điểm mà bạn bị mất mã bằng tay? Mã đã từng đi vào trạng thái không thể duy trì?

+0

có câu trả lời thực sự hữu ích từ Stephen nhưng rất thích nghe nhiều hơn! –

Trả lời

6

Nhưng kinh nghiệm của bạn là gì?

Tôi đã triển khai hai dự án riêng biệt, cả hai đều liên quan đến các mô hình có từ 50 mô hình trở lên và trong cả hai trường hợp mô hình phát triển trong suốt thời gian tồn tại của dự án; tức là lô hàng của các thay đổi về mô hình. Trong cả hai trường hợp, tôi đã sửa đổi mã được tạo thành thường để triển khai các thuộc tính được tính, xác thực và tùy chỉnh trình chỉnh sửa theo nhiều cách khác nhau.

EMF xử lý các thay đổi mã thủ công trong mã được tạo ra như thế nào?

Nó hoạt động tốt. Đôi khi máy phát điện tạo ra mã không biên dịch do một số thay đổi mô hình, nhưng các bản sửa lỗi thường đơn giản; ví dụ. xóa các lớp/giao diện Java, nhập khẩu đã chết, v.v.

Bạn đã bao giờ đến mức bạn bị mất mã bằng tay?

Chỉ rất thỉnh thoảng. Đôi khi, bạn quên xóa nhận xét đánh dấu "được tạo" và phương thức của bạn bị ghi đè khi bạn tạo lại mô hình.

(Tôi cho rằng nếu đó là một mối quan tâm lớn bạn có thể sửa đổi các máy phát điện EMF luôn sao lưu cây nguồn trước khi sáp nhập trong những thay đổi.)

Tôi đoán rằng điều khó chịu nhất là các mã được tạo phải được được định dạng. Thật không may, trình định dạng mã Eclipse khá là thô tục, nhưng nếu bạn định dạng lại theo cách thủ công, các thay đổi định dạng của bạn sẽ bị đóng đinh lần sau khi bạn tạo lại. Nhưng đó chỉ là khó chịu ... không phải cái gì đó đáng để nhảy qua hoops để tránh.

Mã có bao giờ rơi vào trạng thái không thể duy trì không?

Không. Không bao giờ.


Đọc câu trả lời của consta_a nhắc tôi rằng tôi luôn kiểm tra các lớp EMF đã tạo của mình thành kiểm soát phiên bản. Đó là cách tốt nhất để tránh mất các chỉnh sửa tay trong thời gian dài.

0

Tôi xác nhận Stephen C trả lời: trong trường hợp chúng tôi xử lý khoảng 120 lớp trong mô hình của chúng tôi, có nghĩa là 120 giao diện + 120 lớp triển khai + vô số lớp chỉnh sửa và tái tạo khá tốt (nếu chúng tôi chỉ có thể dễ dàng tạo các lớp được tạo như chúng tôi muốn (^ _ ^))

Mẹo: Nếu bạn sợ mất một số mã thủ công, tốt nhất là giữ mã của bạn trong kho lưu trữ. Mỗi khi bạn thực hiện thay đổi, bạn có thể dễ dàng so sánh với phiên bản trước đó và xem những gì đã thay đổi.

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