编程语言最好的编程指令(你知道这五种好用的编程模式吗)
编程语言最好的编程指令(你知道这五种好用的编程模式吗)......更多信息:更多信息:Rik Schennink 的“保镖模式”: http://rikschennink.nl/thoughts/the-bouncer-pattern/// switch let createType = null; switch (contentType) { case "post": createType = () => console.log("creating a post..."); break; case "video": createType = () => console.log("creating a video..."); break; default: createType = () => console.log('unrecognized content type'); } createType()
这篇文章中介绍了一些我在编程时使用的模式。有些模式是基于我最近在工作时所做的观察,还有一些是我这些年来从同事那里偷来的。
下面的顺序不分先后,只是一个简单的汇总。
早退function transformData(rawData) { // check if no data if (!rawData) { return []; } // check for specific case if (rawData.length == 1) { return []; } // actual function code goes here return rawData.map((item) => item); }
我将这种模式称为“早退”,但有些人也将它称为“保镖模式”或“保护条款”。除了命名之外,该模式的方法是首先检查无效用例并从该函数返回,否则继续到预期用例并执行函数。
我认为这种方法有一些优点,我很喜欢:
- 鼓励开发者考虑无效 / 边缘情况,以及处理这些情况的对策。
- 避免对意外用例做不必要的代码处理。
- 让开发者对每个用例的处理更加胸有成竹。
- 使用这种模式,开发者可以快速浏览功能并了解流程和执行情况,这通常遵循自上而下的模式——无效情况 - > 小案例 - > 预期案例
更多信息:Rik Schennink 的“保镖模式”: http://rikschennink.nl/thoughts/the-bouncer-pattern/
改用对象字面量// switch let createType = null; switch (contentType) { case "post": createType = () => console.log("creating a post..."); break; case "video": createType = () => console.log("creating a video..."); break; default: createType = () => console.log('unrecognized content type'); } createType(); // Object literal const contentTypes = { post: () => console.log("creating a post...") video: () => console.log("creatinga video...") default: () => console.log('unrecognized content type') }; const createType = contentTypes[contentType] || contentTypes['default']; createType();
接下来是摆脱 switch 语句。我经常在写各个 case 时犯错,而且常常会忘记 break。这会导致许多有趣的问题。在编写代码时,switch 语句的用途没那么大,而且有些碍事。
我更喜欢使用对象字面量,原因在于:
- 不必担心 case 或 break。
- 代码更容易阅读,可以快速了解正在发生的事情。
- 对象字面量很容易编写。
- 代码更简洁。
更多信息:
......
点击“了解更多”,查看余下全文