开发者

Auto-generation of code in order to mass produce. Is this sensible?

开发者 https://www.devze.com 2023-01-29 10:14 出处:网络
Our company plans to auto-generate our projects from the domain area up-to the presentation layer so that we can mass produce software. The idea is we can produce a project within 24 hours. I think th

Our company plans to auto-generate our projects from the domain area up-to the presentation layer so that we can mass produce software. The idea is we can produce a project within 24 hours. I think this is possible but that's not my con开发者_开发百科cern.

What are the ramifications of such plan? I just think that the quality of software produced from such grandeur idea is below good quality. First, clients have varying requirements. Assuming we can standardize what's common among them, there are still requirements that will be beyond our original template.

Second, how can such software be reliable if not fully tested? Does a 24 hour period can cover a full unit/integration/other types of test?

At the end, it appears we won't be able to hit the 24 hour target thereby defeating our original purpose.

I just believe it's better to build quality software than mass producing them. How would I tell my boss that their idea is wrong?


Sorry, but I don't think this is sensible.

In order to build a system that can auto-generate any kind of software that would fill any kind of requirement, you will kind of have to implement more then the softwares you plan to generate.

Auto-generated code is great, when you have some repetitive tasks, information, or components, that are similar enough to enable you to make a one time effort to generate all repetitions.

But trying to write a system to produce any kind of project is not feasible. In order to meet a wide enough range of supported projects, your system will have to allow a very wide set of capabilities to describe project configuration and behavior, and the time required to describe each project's behavior will not necessarily be shorter than the time it would have taken to implement the project in the first place. You will just end up developing a development environment, and implementing projects in your own language.

So, instead, why not just take an existing development environment that is already available? Like Visual Studio?


Maybe you should have a big library reprository and stuff everything that could be reusable in it. This way, the software you have to write would be very small. There could be documentation templates associated with the library and you would just have to C&P them.

However, it takes time to build such a library.

Or do it this way.

0

精彩评论

暂无评论...
验证码 换一张
取 消