【标题不吸引人,没有人气发贴有什么用?】
我有一个梦想,就是可以实现php自动编程,我在2013年学习php的时候就发现php有此潜力。语言灵活而又强大。
php的程序,不就是CRUD增删查改么?所有的增删查改相关的动作。都可以完全自动实现,不用人来编程。
2013年时,写了个自动生成所有mysql语句的程序。终于可以实现 完全告别手工写mysql时代。一个40张表的数据库,800行mysql,一个人维护一个月还蛮吃力的。有此小程序。完全不用维护mysql了。直接维护excel.方便简单。一天完成此程序。实现 了mysql自动化。
2013年用的是TP3.13框架,发现其model实现不彻底,比如join就没有写,于是我帮其完成。
2014年初,用TP3.12。发现问题蛮多,好在有源代码在,自己搞定一切。发现TP命名空间好繁琐。年中开发一项目要上线,Linux出现问题无法解决。原来是php语言问题,google一下,发现国外已经有好多人提出此问题( preg_replace_callback出现内存泄露)(php官方说5.4以后版本已经解决,其实没有)。TP作者一直不回复,被我逼出来问后,还是没有解决(本人给TP捐款几次)。想想,其实现TP3.2主要功能,3天就可以完全实现,于是我就自己花3天写一个YuYan框架。将TP3.2中有问题的部分改正了。实现我自己理想中的PHP MVC框架。1、加载完全自动加载 2、model完全可以省略。完全不用sql语句 . 3、前端标签不超过5个。让平面美工也能用标签语言。4、TP所有的强大功能全部要有。
sz400.net 这网站就是用YuYan框架一个半年经验员工花一个月写成的。
除了不经意间借用TP文件名改写的代码(因为其有bug,修复时熟悉了此代码)5行以内,其它100%全部手写。模板标签定义共有10多个吧。常用5个就可以解决所有问题。另一些是方便增强。在实现时用到正则,居然发现全部手写几十个复杂的正则,一次成型!
YuYan框架3天就写好了,这真不难,我在10年前写类似Struts框架时共了半月才搞个小微核心,
后面因为要快速写一个系统,有10多张表我一个人负责,太多重复代码,感觉实在太烦了。所以干脆开始实现学习时的梦想吧。
自动编程可以开始了,因为底层框架我完全控制了。写着写着,发现,其实实现CRUD蛮容易的,也只要1周左右,就实现了我学php的梦想。此时代码生成,也比YII框架代码生成强大太多了。
现在新的问题出来了,就是生成的代码太过简单,和粗糙,实际中用还有太多要修改的地方,现在对编程效率的提升,也最多只有2-3倍左右。
于是我再花二周完善实现代码生成系统。这样这部分代码基本完善了。
但新的问题又来了,太死板,用户体验几乎没有,我们小公司人少,大项目还是忙不过来。
其实此时,已经完全实现我学php时的梦想,就是自动实现CRUD.此时大概在8月左右。
我又有一个新的梦想,就是要体验都全部做好。
包含有良好的用户体验,编程效率能提升10倍以上。
中间停了3个月和一个流氓打官司,天天跑法院。
于是从12月底开始,有时间了,新的计划。生成的系统要能自动实现 我们编程中实现的90%的用户体验功能。
编程效率要提升10倍以上。
经过一个月的实践,用我们公司的OA+CRM系统来做实验,共42张表,800行sql(.第一次有38张表)
配置业务逻辑文件600行。根据此二者来实现。自动生成包含前后台,菜单等。
1、自动生成菜单,各种业务逻辑。
2、各种子功能,比如财务表要实现充值,查帐,打款截图。
3、用户相关表要实现登录,修改密码等。
4、客户表要实现分清楚死亡客户和潜在客户,及成交客户。
5、体验要美好。能简单轮番,绝不能复杂。
中间这42张表大改动蛮多的。改动20处以上的至少有5次。搞得我业务逻辑文件有改不完的错误。我花1天写了个检查配置的软件,一下居然检查出10多处字段名错误。也难怪,42张表,共700个字段,功能800个,业务逻辑点4千个,相互相互相关关系近3万个。我一个人维护(没有借助软件),加上20天左右全部搞定这所有,表大改动5次以上。加上疲劳作战,熬了几个通宵,所以配置文件笔误问题很多。
现在终于完成这自动生成代码实现了。虽然体验还不够完美。但已经实现我梦想的所有。此时效率提升10-20倍。
当然,细节还有待完善,OA+CRM系统下周在公司正式上线试运行。关键部分100%机器编程实现,内部有很多小白用户。来提改进意见。我给大家的说的是:任何想法都可以提。从体验到功能到逻辑关系,随便提。
现在离成熟还有一二个月的距离吧。但已经将编程工作量提升20倍了。98%的代码由机器完全生成。
遗憾的是:业务逻辑描述文件还是手工写的,错误不可避免。大概要花1周来写成机器管理。可以做到100%不错。配置文件至少占了50%的时间。还可以提升10倍效率。
配置文件写好机器管理后,整体编程效率可以提升20-100倍。
现在此时,程序员由关注业务逻辑,到关注用户体验......这应该是编程史上的巨大进步。
开发程序进步史(关注机器:机器语言 =》关注语言汇编 ==》关注程序C/C++==》关注程序加+业务.net Java.=》关注业务逻辑 php.)现在我的自动编程系统可以实现到下一步:业务逻辑你都不用关心了,只关注用户体验就好了。
我又有一个新的梦想,就是机器人编程,人工智能。业务逻辑不用人来写,机器人用人工智能识别。
如果此梦想能实现,则关注用户体验都不用了,关注维护编程机器人和把妹子吧。
程序员:你应该关注你内心的快乐,而不是编程。
机器人编程暂时还没有想太多,可能等我上一个梦想完全实现了吧,机器人如果真能编程,真,效率可以提升千倍,万倍,百万倍不是梦。而不是现在的只区区提升100倍。
我发此文字,就是希望真正的高手站出来,我们一起来实现机器人编程的梦想。
后面我将会续发一些关于此编程的感悟。
有时候不断超越自己,不断加班会很累。但结果是快乐的。像爬山一样。
“人没有梦想,和咸鱼有什么区别”,【少林足球】
让我们一起来追逐梦想,改变世界。
----------------------------------------------------------------------------------------------------------
下面发一张自动生成代码的前台截图