当前位置: 首页 > 科技观察

手写1000多行代码是什么体验?

时间:2023-03-16 00:03:12 科技观察

代码不是手写的吗?1000行很容易实现。2007-08年春节前夕,客户问我们能不能帮他们搜一下。我没学过搜索,但是看过一些科普文章,自己也研究过一些思路。我事先知道Lucene,知道它是基于Java的。出去买了一本LuceneinAction和Java语言的入门书,就回家过年了。7天的春节假期,闺蜜和爸妈都在打牌,看电视。我在另一个房间里,一边看这两本书,一边写基于Lucene的搜索系统。我设计了一个XML访问协议,索引导入格式使用XML,我写了一个Java版的web服务器作为系统的底层。查询以REST的形式返回XML结果。在一个配置目录下,配置文件用于设置查询字段、排序字段、自带索引排序、不同查询方式的切换。你需要在url中选择一个不同的配置文件名,用一个简单的日志。7天,写了2000-3000行代码。然后在节后,我们会在线上为我们的客户进行测试。一旦启用,他们原本的搜索速度就会从高峰时的几分钟无结果,变成几十毫秒内的稳定。他们每天的搜索量从每天4000增加到8000,后来因为这组搜索增加到100000。他们的搜索量在20万-30万之后,第一次改进了这套代码,性能提升到了***。后来我们连接了更多的客户,这套代码也不断完善,最新的单机支持2000万次搜索。后来经过多次改进,代码增加到18000多条。后来就没注意行数了。这套代码开发的系统已经服务于饭通、大众点评、FTChinese、六间房、山大云中书店,以及我司数十家小客户。每天的***搜索量在三千万左右,按理说搜索量应该至少上亿。(我职业生涯写过几百个业余副项目,大部分都没有发布,而且大部分都在3000行以上。)既然有人喜欢,那我再讲一个故事吧。我们上海天力还没有倒闭。我们依赖排版系统。我们从底层支持AppleiBookAuthor格式。这是一种非常复杂的封装格式,类似于网页,但是有大量的排版格式和CSS3标准的东西。2012年,我们公司快结束的时候,我突然有一个疯狂的想法,要把这个很复杂的东西做成。但是我把这个想法跟我们的主程序,现任CTO老师@陈永辉老师说了,但是这个猪头看不懂。于是我出差三天写了一个原型来演讲,实现了一个XMLDOM解析树,一个简单的CSS解析树,写了一个简单的iBookAuthor格式分析文档,用我分析的文档格式,我写了一个可以显示iBookAuthor电子书一页信息的demo。刚才查了一下代码库,大概不到900行。留给主程序向他解释思路和文件格式的细节。然后第二天他就明白了,然后我就没有参与这个项目的具体代码了。该项目现在大约有26,000行左右。公司前后收入约200万。公司并没有因为这个项目而倒闭。