小感悟:能在设计时写死就不要在执行时生成

百家 作者:聊聊架构 2018-04-13 01:48:47
作者|Bill
嘉宾 | Beining

很久之前,一位老程序员给我讲过这个道理,然而我现在才幡然醒悟。

我们当时正在代码审查,看到一个功能,需要生成字母 A 到 Z 的列表(类似通讯录的排列)。

我当时年轻气盛,决定利用一下 Unicode:写个循环,把 Unicode 的 65 到 90 号取出来,做个列表。差不多长这样:

1.  for  (let i =  65; i < =  90; i++)  {
2.  letters.push(String.fromCharCode(i))
3.  }

那位老程序员问我为什么不把字母表硬编码掉,毕竟这种东西是永远不变的:为什么每次重新计算?

我说,我这种高手肯定不能玩这种幼儿园把式啊,我科班学过算法和数据结构的!

他说:能在设计时写死就不要在执行时生成。

说实话,我也没写复杂度天大的死循环,这点性能损失几乎可以忽略不计。但是总体而言,这个建议很重要。

很多时候我们写的业务代码只是将一个固定结构的数据转换格式。例如,从数据库里取一两年更新一次的数据,组装一下,送进浏览器:很多逻辑是不必要的。特别是使用内容管理系统(CMS)的时候。

所以我觉得 WordPress、Drupal 等成熟玩家在静态网站生成器(Gatsby、Hugo、Jekyll),headless CMS、CDN 等的挑战下危机不小。

现在的流行是 JAMstack:JavaScript、API 和 Markup。

“能在设计时写死就不要在执行时生成。”这句话一直萦绕在我耳边。随着时间推移,我觉得这句话是至理名言。不仅仅是编程,而且是人生。

最近我读了桥水基金老大雷. 达里奥的《原则》一书。这本书的主题是,问题的种类比问题要少。所以,如果一个人可以提早规划,那么当遇见问题时也可以游刃有余。

在人生的设计时做好规划比在执行时现场考虑来的好得多。

达里奥的方法是,将各种规划固定成原则。他甚至将这些原则编写成算法,使用历史数据进行回溯。

桥水基金是最成功的基金之一:这种方法行之有效。华尔街开始雇佣程序员进行交易,为这种方法进行背书。


你想深度探索短视频的秘密吗?你想与短视频行业的顶级专家面对面交流吗?4 月 20 日晚,“短视频崛起背后的技术支撑” 晚场活动将会为大家全面解析这一爆款产品的背后支撑。我们邀请了诸多的行业大咖,不仅有爱奇艺技术总监邢常亮进行的相关短视频背后技术的主题分享,还有来自新浪、熊猫 TV、陌陌等公司的大咖从“短视频技术选型、如何让技术跟得上业务发展脚步、短视频与直播的体验优化、AI 赋能短视频”四个维度深入探讨短视频背后的技术。

限额免费报名中。

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接