9.程序员老罗

    9.程序员老罗 (第2/2页)

务放到下一层次中去解决。这样逐层、逐个地进行定义、设计、编程和测试,直到所有层次上的问题均由实用程序来解决,就能设计出具有层次结构的程序。按自顶向下的方法设计时,设计师首先对所设计的系统要有一个全面的理解。然后从顶层开始,连续地逐层向下分解,起到系统的所有模块都小到便于掌握为止。”确实是一种很有效的解决问题的思维方式。

    老罗还有一个习惯,喜欢分析各种生活中可见的工控系统和智能终端的程序,说自己的改进意见。

    比如他和阿维一起乘电梯时,如果是他经常乘的电梯,他就会告诉阿维,这组电梯的程序采用了怎样的智能算法,有何优缺点。

    12306自助售取票终端出来没多久,老罗就说,程序算法不好,有一些多余的操作界面和交互动作,至少将一位用户的自助取票时间增加了十几秒。后来售取票终端果然和他预测的一样删除了多余的交互。

    老罗还说,大多数公共厕所男小便池的自动喷淋设备,都采用二次喷淋,即人到时喷淋一次,人离开时再喷淋一次,这在人流量较小的场所,对卫生清洁是有好处的(第一次喷淋让池壁湿润,可以让小便不易附着在池壁,使得第二次喷淋清洁效果更好),但是,对于像车站这样的高人流场所,每个小便池前人员络绎不绝,用二次喷淋就是浪费水了。完全可以对是否进行第一次喷淋加一个时间间隔条件判断,比如判断前十秒(或者更长一点间隔)内,有进行过第二次喷淋(也就是有一位用户离开),那么本次的第一次喷淋就省略。如果这样改进,每年可以节约多少吨水啊?

    老罗自己笑称,这是他的“职业病”,对算法的敏感和对最优过程的痴迷。