simplicity is prerequisite for reliability

每次看我几个月之前写的代码,都觉得当初写的不是代码而是是一坨翔。一直觉得我迟早要被我刚入职那会写的代码坑到,最近还真的被坑了。

一个软件写的是否健壮,不能光看正常流程,还得看看异常流程有没有处理好,容错有没有做好。这一次我就坑在了没有把容错做到位,甚至连 HTML 提供的容错机制都没用上。我为博客里每张图片的 alt 属性添加了内容,偏偏在自己维护的系统的页面上没有做到。

Read More...

下午去公司蹭健身房,本以为可以悄悄的来,悄悄的走,结果锻炼完回到工位歇会的功夫,就被同事叫去帮忙看问题了。同事在项目中用到一个基于 Solr 构建的搜索引擎,我这边也用了。

同事那边的查询条件比我这边的复杂好多,各种条件与或非的。文档里写了,通过在条件前面写上“+”来表示两个条件是逻辑与。同事照着文档在搜索的 URL 中以各种姿势添加“+”,可是搜索引擎就是不认这个加号,查出的结果是两个条件做逻辑或得到的。

Read More...

几天前的一个下午,我在小道消息看到这样一条推荐。

《程序员必读的职业规划书》100本免费读申请页,手快有手慢无
@kingrecord http://weibo.com/1088413295/Cgr2O8qEH

看到这种大新闻,我跑得比谁都快!当时我就提交了试读申请。

Read More...

4 月是 Alibaba 新财年的第一个月,照例在月底发放年终奖。据说每到这个时候,内网一片哀鸿,许多人高呼“万税万税万万税”,履行着公民义务的同时也让人肉痛不已。

我是 2014 年 3 月 7 日从天津来到杭州的,3 月 10 日开始实习。虽然我正式入职是在 7 月 7 日,但是我实习期间基本上全程投入生产,参与了一个底层系统的重构,所以对我来说,工作是从 3 月份开始的。

工作了一整年,也到了该做总结的时候。

Read More...

春节期间我弄了一个东西,我把它叫做“黑科技”,用到了编译期代码生成技术。Demo 做出来之后我很是开心了一段时间,因为它在性能上能够把现有的参考实现甩几条街,毕竟原生代码的性能比反射不知道高到哪里去,而参考实现恰恰是用反射实现的。虽然我的实现在扩展性上比参考实现弱了一些,而且写代码的时候 IDEA 总是不识相的报告找不到类定义……IDEA 找不到类的话,我只要执行编译把代码生成出来就好了,扩展性后面我会搞定的。

这几天我在做项目的时候,花了几个小时把这个黑科技从我的 Demo 项目迁移到了生产代码中,然后做了大量的改进。

Read More...