[关闭]
@syupo 2015-07-05T11:01:06.000000Z 字数 984 阅读 568

我想制造一个会写代码的robot

工作趣谈


《雪国列车》(Snowpiercer)里面提到一列世界上超长的火车依靠一台永动机的驱动自己自足,周而复始地游走世界,并为最后的人类提供庇护所。影片讲的是一群受压迫的人如何反抗和斗争的故事,与我们的主题截然不同,但是和那台永动机倒是有点关系。永动机,一个美妙而又理想的假设,曾令几代科学工匠都魂牵梦绕,但却被证明是一个不可能的幻想。《少年斯派维的奇异旅行》不就是一部这样的幻想剧吗?哈哈扯远了。看看标题我们说的是‘会写代码的robot’。哪个程序员没经历过加班加点码字的日子,疲倦寂寞(重复写a>bN次),谁都想动动嘴派个手下去把活做了。可公司除了你的领导就没别人了。当然身边有一个美女,端茶倒水嘘寒问暖,一个通宵也很快乐。醒醒吧。

代码生成器

还记得毕业后在第一家公司实习的经历。那是一家做对日软件外包的公司,规模十几个人。人手略显不足,那个时候正是对日软件外包从如日中天向没落滑坡的阶段,但从表面还看不出任何没落的痕迹。我们几个的实习生,自然都被分配了开发任务。那个时候,除了在大学暑假期间跟教课的老师做过一个项目以外,没有任何开发经验,而且又是第一次接触对日开发,除了应对日语外,还需要学习一些编程技巧、开发工具的使用甚至msn也是那时学会用的。这里面就有一个当时觉得非常奇葩的工具,excel+vba写的工具,打开后和普通的excel并无差别,里面多了一些不常见按钮和代码模板(研究了很长时间才搞懂),比如点击某个按钮可以生成一些java文件,点击另一个按钮可生成jsp文件,前提是这些生产的代码只试用于他们自己定制的struts框架(也就是说这工具是按业务流程,技术框架专门定制的,为得是提高生产效率)。至于我们这些实习生,经常被机械地告知这里填什么,那里怎么写,然后点这个按钮,这里一般用不到不管等等。知其然不知其所以然,所以很想有一个人能告诉我其中的原理,结果被一学长当面“告状”到领导: “为什么太多。”
其实这个工具所采用的方式算是最简单一种代码生成的方式:模板+设计。它的出现我想和当时的环境密不可分,那个时代任务量大,人手不足,编码完全是一种重复劳动,开发一种工具替代单一重复的工作,在效率上非常有帮助。

cglib

横空出世的反射机制

元编程

可以操作代码的代码,代码生成器的先天优势

与robot结对编程,我说robot做

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注