徒手写1000行以上的代码是怎样的体验?

移动开发
代码不都是徒手写的么?1000行很容易达到的。07-08年春节前夕的时候,我们的客户问我们能不能给他们做一个搜索,我没有学过搜索,但是看过一些科普的文章,自己研究过一点思路。我事先知道Lucene,知道它是基于Java的。

[[133627]]

代码不都是徒手写的么?1000行很容易达到的。07-08年春节前夕的时候,我们的客户问我们能不能给他们做一个搜索,我没有学过搜索,但是看过一些科普的文章,自己研究过一点思路。我事先知道Lucene,知道它是基于Java的。

我出门买了本Lucene in Action和Java语言的入门书,然后就回家过年了。春节假期7天,我女朋友和父母在打牌看电视,我在另外一个屋子,看这两本书和写一个基于Lucene的搜索系统,我设计了一个XML的出入协议,索引的导入格式用XML,我写了一个Java版本的web server作为系统的底层,查询用REST形式返回XML的结果,一个配置目录里面用配置文件设置查询字段,排序字段,自带索引整理,切换不同的查询方法,只需要在url选择不同的配置文件名即可,带简单日志。

7天的时间,写完了2000-3000行的代码。然后节后就给我们的客户上线测试,一启用,就把它们原来的搜索速度从高峰的时候几分钟没有结果,变成稳定在几十毫秒内。他们的日搜索量因为用这套搜索,从日4000增至8000,后来增至10万。

在他们搜索量20-30万后,这套代码才做了***次大改进,性能提升到***。后来我们接入了更多的客户,这套代码不断改进,***单机支撑2000万次搜索。后来几经改进,代码增至1万8000以上。后来,我就没关注过行数了。

这套代码发展出来的系统,曾经服务于,饭统网、大众点评、FTChinese、六间房、盛大云中书城,以及我们公司当年几十个小客户。日***搜索在3000万左右,应该至少完成了几亿次搜索。

(我职业生涯中写过大小上百个业余的side project,大多数没有发布,大多数行数都在3000行以上。)

既然有人点赞,再讲一个故事。我们上海泰尼现在还没倒闭,靠的是一套排版系统,我们从底层支持苹果iBook Author的格式,这是一个非常复杂的打包格式,类似于网页,但是有大量网页不支持的排版格式和CSS3标准的东西。12年,我们公司快到穷途末路的时候,我突然有个疯狂的主意,要做这个非常复杂的东西。但是我跟我们的主程,也就是现在的CTO老师 @陈勇辉 老师说了这个idea,这个猪头听不懂。

于是我在出差去做演讲的三天路上,写了一个原型,实现了一个XML DOM解析树,一个简易的CSS解析树,写了一个简单的iBook Author的格式分析文档,利用我分析出来的文件格式,写了一个可以显示某本iBook Author电子书一页的信息的一个Demo,刚才查了下代码库,大概不到900多行。

交给主程看,给他讲解思路和文件格式的细节。然后第二天,他看懂了,然后这个项目的具体代码我就没有参与过了。这个项目现在大概有2万6000行左右。前后已经给公司赚了200万左右。公司没死因为这个项目。

责任编辑:chenqingxiang 来源: 知乎
相关推荐

2019-07-25 08:20:37

代码开发神经网络

2015-11-10 09:09:23

代码程序员成长

2016-11-18 20:24:03

人工智能识别应用软件

2021-06-11 14:15:55

代码前端项目

2018-03-09 10:09:07

程序媛体验女生

2016-01-21 17:49:52

云之家Agora语音会议

2024-08-08 08:00:00

2017-03-06 14:45:28

戴尔

2022-01-18 08:40:31

Javascript 高阶函数前端

2018-04-13 17:37:13

SAP上云

2020-06-22 11:23:12

火车票火车站12306

2019-02-13 11:32:01

2018-06-06 17:17:45

GitHub工程师代码

2024-02-28 08:47:29

文件系统数据

2023-02-07 13:42:44

代码实现并发

2019-07-12 09:36:37

Windows操作系统功能

2018-02-26 09:28:42

程序员Bug体验

2021-02-23 15:18:27

程序员国企工程师

2021-11-04 17:48:44

编程游戏代码

2017-10-15 10:39:06

点赞
收藏

51CTO技术栈公众号