昨天的文章中提到了一个小插曲, 故事的由来是我微信中的一个"小老板"忽然来了个不可言喻的表情(Little (small) boss
"SB..."??? 哈哈 仍是简称小吧)。而后开始了下面的对话:前端
编码设计
;总体模块划分
;工程类框架
(作一些单元测试,覆盖率测试
..)等等措施,今天给你聊一下具体如何解决这些小问题
!!我展开了一系列装逼和舔的操做....编程
回到今天文章的主题介绍一下编程范式,以及如何在JavaScript
中使用起来。安全
编程范式(Programming paradigm
)是指计算机中编程的典范模式或方法。微信
编程范式主要包含:命令式编程(Imperative
)、声明式编程(Declarative
)和函数式编程(Functional
)...数据结构
命令式编程的主要思想是关注计算机执行的步骤,即一步一步告诉计算机先作什么再作什么。框架
好比:若是你想进行一个变量与变量组合的输出,你须要这样告诉计算机:编程语言
var name = "wlove"; //声明 var greeting = "hello, I'm ";//声明 console.log(greeting + name);//输出 hello, I'm wolove
声明式编程是以数据结构
的形式来表达程序执行的逻辑。它的主要思想是告诉计算机应该作什么,但不指定具体要怎么作。日程最接近的就说网页编程中用到的 HTML 和 CSS 都属于声明式编程。(解释一下:HTML/CSS它们的编写其实就是结构化的 不会具体告诉计算机作什么细节内容。因此属于声明式编程Declarative programming
;其实和不少配置文件很类似。)ide
最直接举例就是SQL
:函数式编程
SELECT * FROM table WHERE num < 5
经过观察声明式编程的代码咱们能够发现它有一个特色是它不须要建立变量用来存储数据。
另外一个特色是它不包含循环控制的代码如 for, while。函数
函数式编程和声明式编程是有所关联的,由于他们思想是一致的:即只关注作什么而不是怎么作。但函数式编程不只仅局限于声明式编程。
函数式编程最重要的特色是”函数第一位",即函数能够出如今任何地方,好比你能够把函数做为参数传递给另外一个函数,不只如此你还能够将函数做为返回值。很重要一点;若是你使用得当这种编程只须要考虑输入输出的一个流。什么对象(原型)以及其的反作用(相互做用影响)都不须要考虑。
提及函数式编程 可能接触别的语言的朋友 一下就会回忆起 Haskell
,Clojure
这些语言。其实大部分常见的编程语言都已经提供了对这种编程方式的支持;好比今天的主角JavaScript
。
相比于之前的命令式编程;声明式编程,我更偏向于使用函数式编程。首先我实验过面向对象(原型)的方式来进行编程。很困惑或者说很痛苦;每一次的debug
至关的提神醒脑;其次函数式编程可让代码的逻辑更清晰更优雅;更安全。(总之我的用起来就说很爽
)
side effect
(无反作用)和pure
(纯);若是按这样去实现就能合理的解决小老板的一个很重要的问题 debug
一个变量一直跟踪哪里修改了...;//例子1 纯函数 function greet(name){ return "hello I'm " + name; } greet("wlove") // hello I'm wlove //例子2 非纯函数 用到了外部的变量 var name = "wlove" function _fn(name){ return pre + str } greet(name)// hello I'm wlove
//高阶函数: function greet(greeting){ return function(name){ return greeting + " " + name }; } var GREETING = greet("hello I' m"); GREETING("wlove"); // "hello I' m wlove"
array
);每次改变从新生成一个。那样会增长空间的使用。如何解决这个问题? 你们能够思考一下或者查阅一些资料。留言讨论一下。距离上一篇文章的生活日记: 20210524 平常生活的重复。开会;学习;写代码;跑步;写文章;录视频;逛社区...开心就完事了。
本篇文章主要是由于我特别想帮助(tian)小老板 哈哈;也算是随想随写;欢迎你们留言讨论。后面评论会补充介绍如何有效解决空间问题。
聊完天以后个人小老板就是一顿夸,可是也不知道实践没实践。我得多主动跟人家聊聊天 嘿嘿
下一篇JS引擎,做为前端到底须要认识到什么地步,以及如何学习。