当前位置: 首页 > 科技观察

命令式代码和声明式代码有什么区别

时间:2023-03-16 22:11:34 科技观察

您在日常工作中应该使用哪种编码风格?让我们讨论一下您应该选择哪个以及为什么。您应该在日常工作中努力实现哪种编码风格?这是一个在编程中不常被问到的问题,但却是一个重要的问题。让我们从讨论您希望在整个编程生涯中避免的一种编码风格开始,无论您是为自己还是为他人编写代码。什么是命令式和声明式代码?我们可以将我们编写代码的方式归类为倾向于两种风格中的一种。需要澄清的是,一个人的代码从来没有严格地分为一类或另一类,但它是一种有用的方式,可以根据谁或什么最适合来参考我们的编码方式。编写的代码有两种类型,称为命令式代码或声明式代码。这些听起来很复杂的词代表的是很简单的概念:命令式代码是我们写的更适合计算机的代码,声明式代码是人类更容易理解的代码。更具体地说,命令式代码是指我们告诉JavaScript(或您正在编写的任何语言)做什么以及如何做。命令式代码以及为什么要避免使用命令式编码是一种您应该避免的风格。假设我们有一群人想要写生日聚会请柬。让我们从创建人员列表开始。接下来,我们还想保存每个书面邀请,因此我们为要放置的邀请创建一个邀请数组。constpeople=['Doug','Fred','Jane'];constinvitations=[];您可能已经猜到了,我们需要遍历这个数组来实现我们的目标。首先,我们将做我们在JavaScript生命周期中大部分时间都会做的事情:使用for循环。如下:for(leti=0;i`Hi${person},cometomyparty!`);这一切都在一条线上,但同时更容易理解。它更简洁,更易于编写(和记忆),同时也非常清晰。这就是追求声明式编码风格所能提供的。与第一个示例不同,我们不需要创建任何混乱的变量(如i)或告诉JavaScript如何传递数组。我们只是映射(或迭代)数组,将每个人的名字添加到我们的邀请中,然后将其返回给我们。最后,我们要以哪种方式编写代码?让我们回顾一下我们的例子:尤其是当我们第一次看这段代码时,有什么比较容易理解的?什么比较难忘?随着时间的推移,我们都不得不回顾如何编写for循环,因为这是必要的。对于我们和其他人来说,声明式风格是我们想要追求的。这似乎是一个令人困惑的概念,但我们做出区分有一个重要原因:我们编写代码的方式应该适合阅读和使用它的人,而不是计算机。仔细检查并重新阅读你的代码,确保它是可读和可理解的,就像你写文章时,你希望每个人都能理解你的代码,即使是非程序员,并努力使你的代码更好声明式方法。它不仅对您周围的人有帮助,而且对您自己也有帮助,尤其是当您多年后重新访问代码并且您早已忘记它的用途时。原文:https://medium.com/code-artistry/what-is-the-difference-between-imperative-and-declarative-code-7273681effc4