关于前端的思考

19 阅读3分钟

1、比对

代码是通过比对实现的,要尽可能减少心智记忆,通过draft.md。其次分批次处理,可以借鉴可以借鉴子节点的双端比较的实现。命名尽量唯一,便于查找

2、预设,构造,注册

文件命名准备

3、原型、链式查找

4、堆栈,引用类型,指向值

5、标记、命名

6、snippet code

7、预设方法,tools

注册,预设,引用;输入构建内容,对输出的内容进行解析,

8、重构

将代码进行组合划分,将代码逻辑进行分组,相同功能的放在一起,便于理解,一些逻辑可以复用。代码在拆分过程中,会拆分出来一些全局变量。1、分类:插值,标签,文本三种类型,处理主流程,主流程处理完成了,再去完善分支流程分支。将以上内容转化为AST抽象语法树。 nextTick实现,等遍历结束去异步更新props;使用同步代码,在当前获取不到dom节点上的最新内容,需要再微任务队列中获取。 系统运行到某一时刻,会调用系统在该时刻注册的函数。紧接着之前的参数继续处理,处理成一个结果,传给下一阶段。或者处理一个全局的的变量(基本和引用),再下一个代码片段处理的时候,这个全局变量就是最新的。 hooks可传参,共享全局变量,获取操作响应式数据的方法,操作json对象,然后去更新里面的dom节点。传入这个数据,就可以响应式的去操作这个数据。如果传递参数,就把他作为初始值,赋值给响应式对象;如果没有,就用响应式对象的默认值。 在调用的过程中给类型参数。

9、按照TDD的开发思路

可以写死,先把主功能跑通,再重构扩展功能。将变量和方法一起提取。先写一些伪代码,在不断地测试验证中完成代码的重构和完善。测试驱动开发,边开发边测试,并不断地重构代码结构。这些单元测试让你逐步了解如何使用这些代码。给哪些条件,把它放到内存堆栈中,当什么情况下,然后做什么。用增量性地开发方式替代预先设计,先跑通一个流程,或者先打通一个思路,打通之后,再去扩展,循序渐进,不断重构,这是TDD与传统开发方法最大的区别。

10、 主流程

传参=》结构=》利用参数=》返回结果。 在架构的基础上,传递一个或者一组参数,通过遍历或者其他的方式,解析到这些参数,然后完成业务的构建过程。通过分类和划分场景,按照简单到复杂的过程,完成程序的编写过程。通过对比和查找文档,找到预设的内容。完成开发过程。

11、命名方式

驼峰 常量 烤肉 组件 百度翻译和控制台 再加就近原则的draft.md

    if(!str)return;
    let result = str.split(' ').map(item=>{
        return item[0].toUpperCase() + item.substr(1)
    }).join('');
    return result;
}
function cl(str){
    if(!str)return;
    let result = str.split(' ').map(item=>{
        return item.toUpperCase();
    }).join('_');
	return result;
}
function tf(str){
    if(!str)return;
    let result = str.split(' ').map(item=>{
        return item[0].toUpperCase() + item.substr(1)
    }).join('');
    return result[0].toLowerCase() + result.substr(1);
}
function kr(str){
    if(!str)return;
    let result = str.split(' ').map(item=>{
        return item.toLowerCase();
    }).join('_');
	return result;
}