昨天做完推送的功能,忽有所感。
以往总是希望一条sql语句完成大量的增删改查。一段代码可以瞬间完成大量事情,这原本没有任何问题,但实际上,代码服务的对象是人,而不是仅仅是完成人交代的事情。
怎么说呢,好的程序不仅要完成任务,还需要让操作它的人感到舒服,就比如推送的功能,当推送的对象达到一定数量,首先在程序上,又会出现响应时间限制的局限,当点击按钮开始推送,php代码开始在后端默默工作直到工作完成返回结束的信息,这段时间屏幕是静止的,操作它的人怎么可以忍受这枯燥的等待!这还只是进行简单的推送功能,倘诺还需要记录下推送数量,成功以及失败数量,就又是一番cup消耗,而这段程序能否成功的执行完毕都是未知之数,随着业务的扩展,距离程序的瓶颈也是越来越短。
节点!
作完那段启泽要求的推送代码,我忽有所感,今天也看了一些文章,看了drupal的百度百科,回顾之前的代码经历,我领悟到,代码的功能必须要细致建化到只能执行简单的唯一的原子级的功能。
why?
因为,只有这样,才可以根据实际情况控制操作的次数,并对该操作进行相关的属性操作,比如记录,返回操作结果的及时客户端返回。
经此一役,之后需牢记,程序需要节点化,执行操作原子化