自动编程体系设想

简介: 自动编程体系设想编程的演化编程语言的发展随着语言的发展,编写的代码将越来越精简,而且领域化(不同领域用不同的编程语言,以达到开发效率和程序性能的最优化)。自动编程的需求在各种设计框架、基础库日益完善的情况下,上层应用中的编程基本上就是找API,构建一个调用逻辑,然后反复的开发自测试。下层框架/函数库开发一般都基于开源代码不断优化,同样反复地自测试

自动编程体系设想

编程的演化

编程语言的发展

编程语言发展
随着语言的发展,编写的代码将越来越精简,而且领域化(不同领域用不同的编程语言,以达到开发效率和程序性能的最优化)。

自动编程的需求

在各种设计框架、基础库日益完善的情况下,上层应用中的编程基本上就是找API,构建一个调用逻辑,然后反复的开发自测试。下层框架/函数库开发一般都基于开源代码不断优化,同样反复地自测试。
应用构成要素

在软件开发中,编程这一环节事实上越来越成为简单重复的劳动。有重复就有自动化的欲望,也因此有了自动编程的思想。
当前软件开发流程

自动编程思想

自动编程,指的是根据测试用例自动生成符合测试用例的程序。简而言之,将数据变成程序。
与代码生成器(模板驱动开发)相比,自动编程强调由预期结果生成程序逻辑,而不仅仅是由逻辑生成程序代码。
自动编程下的开发流程
如此框架下,在一般的软件开发中,不需要资深程序员/架构师的参与,他们从事平台性的工作,开发与测试不分,有测试用例就会生成代码。

开发就是测试

有了测试用例自动转化成程序的机制,开发人员的主要工作就是搭建自动编程环境,基于对需求的理解编写测试用例,并且对自动生成的代码进行测试。这个工作事实上就是现在测试人员的工作。原来软件开发流程中的测试环节已经没有存在价值。
没有测试环节并不意味着产品质量得不到保障,事实上,测试环节是完全被开发覆盖了,由于程序自动化生成,避免了人写代码出低级错误的可能,产品质量更有保障。

数据就是程序

在能够根据用例表生成代码的情况下,完善的测试用例数据即等同于程序。所有的需求变更反映到用例数据的更新。
一个程序好不好用,一方面在于其需求设计是否合理,测试用例是否设计完备;另一方面,在于构建程序的环境是否有足够丰富的代码源(早期来源于程序员的编写,后期主要是自动生成的有效代码段),是否有足够的计算能力。
总而言之,程序来源于数据,好坏取决于数据量和数据处理能力。

用户也是开发

程序开发者可以把测试用例数据的编写规范开放,使用户在使用的过程中自行输入新的测试用例数据,传到开发者的服务端或直接本地生成更加优秀的程序。

目录
相关文章
|
5月前
|
运维 监控 安全
软件研发核心问题之用在需求拆解时明确监控范围与形式的问题如何解决
软件研发核心问题之用在需求拆解时明确监控范围与形式的问题如何解决
|
5月前
|
监控 Java 测试技术
开发与运维技术问题之“化整为零”策略在项目风险管理中的作用如何解决
开发与运维技术问题之“化整为零”策略在项目风险管理中的作用如何解决
44 0
|
7月前
|
运维 前端开发 JavaScript
平台设计-概念澄清说明
平台所说模块一般指一个独立部署的前端项目
|
7月前
|
存储 算法 Java
【底层服务/编程功底系列】「手把手教学系列」带你打造一个属于自己的规则引擎服务,打破任何业务难题(逻辑模型和API设计)(一)
【底层服务/编程功底系列】「手把手教学系列」带你打造一个属于自己的规则引擎服务,打破任何业务难题(逻辑模型和API设计)
105 1
|
7月前
|
Java API
【底层服务/编程功底系列】「手把手教学系列」带你打造一个属于自己的规则引擎服务,打破任何业务难题(逻辑模型和API设计)(三)
【底层服务/编程功底系列】「手把手教学系列」带你打造一个属于自己的规则引擎服务,打破任何业务难题(逻辑模型和API设计)
95 0
|
7月前
|
存储 设计模式 监控
【底层服务/编程功底系列】「手把手教学系列」带你打造一个属于自己的规则引擎服务,打破任何业务难题(逻辑模型和API设计)(二)
【底层服务/编程功底系列】「手把手教学系列」带你打造一个属于自己的规则引擎服务,打破任何业务难题(逻辑模型和API设计)
95 0
|
存储 安全 搜索推荐
详解软件开发的标准过程(生命周期):跟着标准搞,设计没烦恼
详解软件开发的标准过程(生命周期):跟着标准搞,设计没烦恼
|
负载均衡 NoSQL Java
任务调度系统就该这么设计(万能通用),稳的一批! 上
任务调度系统就该这么设计(万能通用),稳的一批!上
|
消息中间件 资源调度 分布式计算
任务调度系统就该这么设计(万能通用),稳的一批! 下
任务调度系统就该这么设计(万能通用),稳的一批! 下
|
人工智能 运维 大数据
软件开发商何时介入生产过程?一起跟随程序员看看软件开发全阶段
软件开发商何时介入生产过程?一起跟随程序员看看软件开发全阶段
118 0
软件开发商何时介入生产过程?一起跟随程序员看看软件开发全阶段