文档章节

自动编程体系设想(一)

jxt1234
 jxt1234
发布于 2015/10/15 18:06
字数 807
阅读 7
收藏 0
点赞 0
评论 0

自动编程体系设想(一)

编程的演化

编程语言的发展

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

自动编程的需求

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

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

自动编程思想

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

开发就是测试

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

数据就是程序

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

用户也是开发

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

版权声明:本文为博主原创文章,未经博主允许不得转载。

© 著作权归作者所有

共有 人打赏支持
jxt1234
粉丝 4
博文 36
码字总数 41634
作品 0
杭州
【MyBiatis框架】Jdbc的弊端探讨和MyBiatis框架的简介

我们使用JSP+Servlet做Web应用的时候经常使用JDBC作为数据库的连接,那么,直接使用JDBC操作数据库进行增删改查是有一定弊端的,正因为如此才衍生出了Hibernate、MyBatis等一系列优秀的ORM框...

Mysoft
2015/09/09
93
0
谷歌人工智能专家:机器学习存在全新挑战

谷歌研究主管、知名人工智能专家Peter Norvig在MIT的EmTech Digital,探讨机器学习的挑战。 谷歌研究(Google Research)主管、知名人工智能专家Peter Norvig最近在出席MIT的EmTech Digital大...

行者武松
03/02
0
0
EZ430 Chronos 开发设想 :广义手势语言

EZ430 Chronos 开发设想 :广义手势语言 终于收到了代购的开发套件,这几天都在思考究竟用它来开发一款什么样的有趣应用呢? 终于在昨天确定了开发设想:手势语言,充分利用套件的3轴加速度感...

FreeBlues
2012/07/01
0
0
IBM团队研发新编程语言 梦想克隆人类大脑

再创造人类智慧是不可能的,而且我们甚至无法理解大脑如何工作。但是Dharmendra Modha正在与技术巨头IBM以及各个大学和政府实验室的团队合作,尝试建造一个大脑。这位印度出生的计算机科学家...

oschina
2013/08/15
5.4K
56
如果两个程序都这样做会怎样?

本文作者介绍 Raymond Chen Raymond Chen是微软Windows Shell开发团队中的知名程序员,从1992年加入微软开始,他参与过OS/2,Windows 95,DirectX已经以后版本的Windows的开发。他的关于Win...

oschina
2013/11/06
5K
25
mybatis学习笔记(1)-对原生jdbc程序中的问题总结

mybatis学习笔记(1)-对原生jdbc程序中的问题总结 标签:mybatis [TOC] 本文总结jdbc编程的一般步骤,总结这样编程存在的问题,并附上典型地jdbc示例demo jdbc编程步骤 加载数据库驱动 创建并...

brianway
2016/02/27
320
0
对一文的批评(1)

缘起 有个据说很NB的家伙写了一篇关于要设计一个超越Unix哲学的操作系统的博客!然后,我就很郁闷了!然后就花了一个晚上无聊的给他发了一封邮件! 由于他没说文章能转,那就不转了.贴上连接,有无...

方小葱
2014/02/12
0
28
【设想】如何打造一个高逼格的云运维平台?

前言 大家做运维普遍经历这样的过程: 首先我们会把操作做一个标准化,这个阶段是运维质量的提升的阶段。 在标准化实施完以后,由于数目的增加,或者是一些运维场景的增多,我们会逐步的进行...

English0523
2017/07/26
0
0
比特币之父中本聪:神秘身份与虚假投影

比特币之父中本聪:神秘身份与虚假投影   新浪科技 郑峻   有一群人,他们生活在一个洞中,头颈被铁链固定着,只能看到前方的洞壁。而他们的后方有堆火,有人举着各种各样的假人兽雕像,...

oschina
2014/03/11
2.8K
10
JWFD工作流-流程-数据同步控制的简明设计思路

前段时间,JWFD的设计由于遇到点困难和我忙于做迷你搜索引擎,所以暂停下来,这几天突然有了新的灵感,对于前面提到的数据-流程同步控制的问题,有那么一些想法,但是思考的还不是很透彻和成...

comsci
2011/06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

【RocketMQ】Message存储笔记

概述 消息中间件存储分为三种,一是保存在内存中,速度快但会因为系统宕机等因素造成消息丢失;二是保存在内存中,同时定时将消息写入DB中,好处是持久化消息,如何读写DB是MQ的瓶颈;三是内...

SaintTinyBoy
5分钟前
0
0
Android应用Context详解及源码解析

Android应用Context详解及源码解析 本文定位:优质文章收集 本文转载 1 背景 今天突然想起之前在上家公司(做TV与BOX盒子)时有好几个人问过我关于Android的Context到底是啥的问题,所以就马...

lichuangnk
36分钟前
0
0
PostgreSQL的昨天今天和明天

PostgreSQL 是一种非常复杂的对象-关系型数据库管理系统(ORDBMS), 也是目前功能最强大,特性最丰富和最复杂的自由软件数据库系统。有些特性甚至连商业数据库都不具备。 这个起源于伯克利(...

闻术苑
41分钟前
0
0
Mysql对自增主键ID进行重新排序

1,删除原有主键: ALTER TABLE `table_name` DROP `id`; 2,添加新主键字段: ALTER TABLE `table_name` ADD `id` MEDIUMINT( 8 ) NOT NULL FIRST; 3,设置新主键: ALTER TABLE `table_nam......

niithub
46分钟前
0
0
福利篇:免费csdn vip账号分享

分享一个发布免费csdn vip账号的网站:啰嗦vip www.lostvip.com , 各种软件开发类的视频教程:慕课网、动脑学院、黑马各大培训机构VIP视频教程,非常不错!

在水一方发盐人
53分钟前
0
0
Nginx+Tomcat搭建高性能负载均衡集群

一、 工具   nginx-1.8.0   apache-tomcat-6.0.33 二、 目标   实现高性能负载均衡的Tomcat集群:    三、 步骤   1、首先下载Nginx,要下载稳定版:      2、然后解压两个Tom...

码代码的小司机
54分钟前
0
0
Centos7编译安装ntp-4.2.8p11

Centos7编译安装ntp-4.2.8p11 背景 因公司做等保评级,在进行安全漏洞检测时发现ntp需要升级到ntp-4.2.7p25以上版本,经过一番搜索,没有该版本及新版本ntp的yum安装包,所以只能编译安装了,...

阿dai
今天
0
0
antd pro 新增模块的步骤

index.js是整个项目的入口文件。 // 1. Initializeconst app = dva({ history: createHistory(),});// 2. Pluginsapp.use(createLoading());// 3. Register global modelapp.model......

灯下草虫鸣_
今天
0
0
Cisco VPN在win10下报Error 56的解决办法

问题描述 Cisco VPN在win10下报Error 56: The Cisco Systems, Inc. VPN Service has not been started 解决方案 方案一:在计算机管理-》服务 查看Cisco Systems, Inc. VPN Service服务是否存...

chenfj_fer
今天
0
0
Weblogic问题解决记录

问题:点击登录,页面刷新但是不进去管理界面。解决:删除cookies再登录。

wffger
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部