Câu trả lời:
Hãy viết lại rằng:
Là chi phí của một trình tạo mã tự động tốt có đáng không?
Đúng.
Là chi phí của một trình tạo mã tự động kém, tạo ra nhiều công việc hơn cho những người khác nhưng tác giả có đáng không?
Tuyệt đối không. Không có lý do cho mã kém. Nếu ai đó muốn khéo léo và sử dụng việc tạo mã tự động thì họ nên dành thời gian để đảm bảo rằng mã được tạo là mã tốt. Nếu không, quan điểm của nó là gì? Nó chỉ đẩy buck xuống và khi nói đến sản xuất mã, buck nên dừng lại ở nhà phát triển đã viết nó.
Mã được tạo bởi một máy phát điện không bao giờ nên được duy trì bằng tay. Nếu cần phải thay đổi, thì trình tạo và / hoặc cài đặt của nó phải được điều chỉnh và chạy lại. Xem xét điều đó, không có vấn đề gì nếu mã kết quả là không thể hiểu được và không có giấy tờ miễn là bản thân cơ chế tạo là rõ ràng. (Hãy chắc chắn ghi lại thực tế rằng mã được tạo và vị trí của trình tạo và cách thức hoạt động của nó.)
Tương tự: trong khi bộ xử lý máy tính của tôi luôn thực thi mã máy, tôi không cần biết gì về nó miễn là tôi biết cách tạo mã máy đó bằng ngôn ngữ và trình biên dịch cấp cao. Tôi đã nghe nói rằng GCC đôi khi tạo ra mã máy phụ, nhưng ai quan tâm, miễn là nó hoạt động hoàn hảo. Các lớp trừu tượng hóa cơ sở dữ liệu tạo ra SQL để hoạt động với công cụ DB, nhưng ai quan tâm SQL đó trông như thế nào, miễn là lớp trừu tượng rõ ràng và hoạt động?
Khi được sử dụng đúng cách, trình tạo mã chắc chắn có thể tiết kiệm không chỉ tạo, mà còn chi phí bảo trì.
Một trình tạo mã là một loại trình biên dịch. Bạn đừng lo lắng về đầu ra của trình biên dịch đẹp như thế nào, bạn chỉ làm việc với mã nguồn. Sử dụng nó và sau đó sửa đổi đầu ra thường khó hơn so với việc viết từ đầu dưới dạng dễ hiểu bởi con người và có nghĩa là bạn không thể sử dụng lại trình tạo mã mà không phải làm việc nhiều, vì bạn sẽ phải áp dụng cùng thay đổi với cùng một mã không thể hiểu chính xác.
Do đó, chúng có thể ổn nếu chúng là một phần của quá trình xây dựng và được ghi lại như vậy. Đầu vào của trình tạo sau đó là mã nguồn và bất cứ thứ gì nó tạo ra đều là kết quả trung gian, không bị nhầm lẫn.
Tuy nhiên, nếu ai đó đang sử dụng một mã để tạo mã không thể hiểu được, được cho là được sử dụng làm nguồn, thì người đó tạo ra mã xấu. Không thành vấn đề nếu người đó sản xuất mã xấu một cách máy móc hoặc bằng tay, đó vẫn là mã xấu và bạn vẫn gặp vấn đề về chất lượng với nó.
Do đó, bạn cần coi điều này như bất kỳ nhà phát triển nào khác và viết mã xấu. Tôi không biết làm thế nào bạn xử lý điều đó tại cửa hàng của bạn.
Từ các nhận xét về các câu trả lời khác, có vẻ như bạn đang hỏi về tiêu chuẩn nhóm hơn là bản thân trình tạo mã.
Một công cụ tạo mã nên được đưa vào dự án và nên (nếu thích hợp) là một phần của quá trình xây dựng. Một ví dụ sẽ có trong nhóm của chúng tôi, chúng tôi sử dụng Subsonic 2.2 mà chúng tôi đã tạo các lớp từ các đối tượng cơ sở dữ liệu được xây dựng.
Exe thực hiện điều này được kiểm tra vào SVN như một phần của dự án để một thành viên mới của nhóm có thể nhận dự án mới từ svn và ngay lập tức xây dựng nó mà không cần phải tìm ra tất cả các lớp cơ sở dữ liệu này đến từ đâu (trong ví dụ này chúng tôi thậm chí không bao gồm mã được tạo trong svn).