2022升级—TypeScript系统入门到项目实战克洛泽群岛

鲍忠
• 阅读 215

2022升级—TypeScript系统入门到项目实战克洛泽群岛

代码清洁之道 写在前面 一开始并没有打算写这篇文章,直到几次代码评审会后,我才意识到自己的编码方法并不系统,还需要系统的学习。掌握前人总结的最适用的规则,无疑是一个很好的方法。就在很久以前,为了整洁,我收集了这段代码,所以我决定在业余时间读一读,总结一下。如果我想系统学习,建议读书。这份文件只是为了我自己的记录。 一个人的职业素养体现在解决问题的方式、步骤和反映程度,而不是问题本身的难度。思考一个问题:一个技术人员应该具备哪些素质才算专业?如果还没有,怎么改才算专业? 干净的代码 第一,为什么要写不好的代码? 每个人都有自己的理由。相信很多人一有时间就会去思考代码优化的问题,但是要记住一句话:以后是永远。 二、混淆代码的代价? 后期很难维护和修改,生产力和时间是负相关的。 三。什么是整洁的代码? 整洁的代码只做好一件事:每个类、每个函数、每个模块都专注于一件事,完全不受周围细节的干扰和污染。 比较全面的总结是:减少重复代码,提高表达能力,提前构建简单的抽象。 更具体的实施:请继续阅读! 更好的变量命名 第一,见名知意 二、抽象工厂:接口不要命名为IShapeFactory,前导字母其实是对用户的干扰。用户只需要知道它是一个抽象工厂。建议用CShapeFactory,可能体验会更好。 第三,类名要用名词,方法要用动词。词性相近的get和fetch不应该一起出现。可以添加后缀getNumber和fetchData来达到同样的效果。 4.不要害怕长名字:使用描述性的名字,即使很长,也比短而易混淆的名字好。 更好的功能 1.函数的结构要短小精悍,旨在不容纳if/else if/else的嵌套结构。 2.只做一件事:如前所述,一个函数只做好一件事就足够了。标志是“看看你是否能分解一个函数,这不仅仅是简单地重新解释它的实现” 第三,每个函数都有一个抽象层次:代码一般是从上往下读的,每个函数后面都要跟着下一个抽象层次的函数。 【抽象层次:getHtml函数处于较高抽象层次,page pathname = path parser . render(page path)处于中间抽象层次,并且。append("\n ")位于较低的抽象级别] 四。switch语句:N件事需要自然完成,但可以放在较低的抽象层次。但当新类型出现时,就会违背“权责单一,开放封闭”的原则。这时候最好创建多态对象。 //原文中:每个case分支单独处理,添加新的类型不需要修改原代码,添加新的处理类。 函数getName(name){ 开关(名称){ 格‘明’: 返回新的分类(名称); 案例“胡”: 返回新的ClassHu(名称); 案例“uzi”: 返回新的ClassUzi(名称); 默认值: 抛出新的class common(name); } } ​ //我更喜欢另一种方法:修改只需要在对象中进行,提高了函数的简单性。 const nameCollectionUtils = { 明:新类明(‘明’); 胡:新类胡(“胡”); Uzi:new class Uzi(' Uzi '); } 函数getName(name){ 返回namecollectionutils . has own(name)?nameCollectionUtils[name]:新的ClassCommon(name) } 复制代码 5.不超过两个函数参数:输入参数和输出参数。 不及物动词无副作用:不要在函数内部进行意外的更改,也不要影响外部。 七。使用异常替换返回错误代码:使用try...catch而不是多层if嵌套,永远走在主干道上,不要过多考虑界限,这样才能始终保持思维的连贯性。 八、错误处理单独提取:这个我觉得可以视情况而定,毕竟提取只是为了美。 九。不要重复:必须提取多个函数使用的同一逻辑的代码。可以参考面向对象的基类。前端开发中的面向组件编程和面向模块编程也采用了同样的思路。 注释和格式 每个人都有每个人的习惯。只是采用一些通用规则。毕竟太过分了会在公司被打~ 错误处理 没有固定的规定,所以最好采取试试的原则...先接住。 领土边界 综上所述,使用你能控制的代码。 单元测试 现在绝大多数互联网公司都是敏捷开发者,很少有公司能遵守测试驱动原则。而且为了保证进度,很少有技术团队会要求进行单元测试,所以不同的人有不同的看法。我个人认为这一项的实际执行只能是更好的设想。 种类 1.类的组织:按照下面的顺序,不公开内部属性,用方法达到同样的目的。 类演示组织{ 静态名称= '名称' 私有pname = 'pname ' private _pname = '_pname ' 受保护的tname = 'tname ' ​ public getPublicName(){ 返回this.pname } private _getPrivateName(){ 归还这个。_pname } } 复制代码 第二,单一权责原则(SPR):一个类或模块应该只有一个修改它的理由,实现这个原则的类更容易被重用。 第三,保持内聚性:在一个类中定义的变量要尽可能多的使用,如果不能满足,就把使用变量的函数拆分成小类。 4.开闭原则(OCP):类应该对扩展是开放的,对修改是封闭的,可以通过子类化增加新的功能,而不触及其他类。 5.依赖倒置原则(DIP):类应该依赖抽象,而不是具体的细节。 6.解耦:不同方法和模块之间不要互相影响,即“分而治之”和“化整为零” 系统 1.构造与使用分离:构造的细节应该与应用程序代码隔离,用户只能得到构造者希望用户得到的东西。 第二,设计要能满足从简单到复杂的更新迭代。 叠金 综上所述,只要遵循以下原则,就可以得到一个设计良好、可堆叠的程序:

运行所有测试 不可重复 表达了程序员的意图。 尽量减少类和方法的数量。 以上规则按重要程度排列。

并发编程 首先要理解“线程”的概念:CPU调度的最小单位,它不同于作为资源分配最小单位的“进程”。差异见下表:

数据共享的资源消耗是否影响兄弟程序的最大可扩展维度?有锁吗?过程比较困难?不,还有更多机器。线程简单少,可能影响进程多核?不 如果对象是进程的抽象,那么线程就是调度的抽象。 前端js语言是浏览器脚本语言,主要用途是与用户交互和操作DOM,这就决定了js只能是单线程,否则会造成复杂的同步问题。但是js还是可以模拟并发执行,具体实现相关信息的自查询。 目前我还没有学过并发编程的语言。以后遇到学习我再补充。 重建 我觉得这个模块是最重要的模块,甚至比怎么写一个新程序还要重要。因为一个公司的沉淀项目数量庞大,很可能会有几个甚至更多的项目被重构(或者是因为之前的代码写得太差,无法维护),所以重构需要注意的点也要有清晰的认识。 只需要遵守一个原则:签入的代码比签出的代码更干净。 download:2022升级—TypeScript系统入门到项目实战克洛泽群岛

点赞
收藏
评论区
推荐文章
鲍忠 鲍忠
1年前
Vue3 系统入门与项目实战2022版全新升级克鲁斯卡尔算法
Vue3系统入门与项目实战2022版全新升级克鲁斯卡尔算法计算机的记忆金字塔1.局部性原则局部性原则是制定存储系统数据管理策略的理论基础。我们可以从两个维度来理解它:1.时间局部性(TemporalLocality):时间局部性是
Stella981 Stella981
2年前
React中常见的TypeScript定义使用
前言在我学习typescript时,想在react中使用typescript写代码,从头开始的时候是懵逼的,因为官方文档并没有使用typescript的教程,多是自己在网上查,自己看定义摸索所以今天把我用过的,总结归纳一下,希望能帮助到同样在摸索的同学以下代码react版本为16.13.1,在createreac
何婆子 何婆子
2个月前
鸿蒙系统实战短视频App 从0到1掌握HarmonyOS(完结)
鸿蒙系统实战短视频App从0到1掌握HarmonyOS(完结)download》chaoxingit.com/3736/一、鸿蒙系统实战短视频App从0到1掌握HarmonyOS的介绍创建一个鸿蒙系统实战短视频App是一项充满挑战但也令人兴奋的任务。以下是
程昱 程昱
2个月前
Vue3 + React18 + TS4入门到实战 系统学习3大热门技术|更新完结
Vue3React18TS4入门到实战系统学习3大热门技术|更新完结download》quangneng.com/Vue3、React18和TypeScript4的系统学习项目!这是一项庞大的任务,涵盖了目前前端开发中最热门和重要的技术。在这个学习过程
程昱 程昱
1个月前
Flink 从0到1实战实时风控系统|同步追更
Flink从0到1实战实时风控系统|同步追更download》quangneng.com/2323/一、Flink从0到1实战实时风控系统的项目介绍"从0到1"构建一个实时风控系统是一个复杂而又具有挑战性的项目。这样的项目需要从搭建基础架构到开发算法模型以
程昱 程昱
1个月前
2023 React 18 系统入门 进阶实战《欢乐购》超清完结
2023React18系统入门进阶实战《欢乐购》超清完结download》quangneng.com/2362/当涉及到React18的系统入门和进阶实战时,有几个方面你可以考虑和学习。下面,我将为你提供一个基本的学习路径:React基础知识:学习Reac
乐和 乐和
1个月前
2022版】Vue3 系统入门与项目实战 进阶式掌握完整知识体系完结
2022版】Vue3系统入门与项目实战进阶式掌握完整知识体系完结download》chaoxingit.com/410/Vue3系统入门与项目实战:进阶式掌握完整知识体系随着前端技术的不断发展,Vue.js作为一款流行的前端框架,已经成为了许多开发者的首选
韦康 韦康
1个月前
Vue3 + React18 + TS4入门到实战 系统学习3大热门技术|完结
Vue3React18TS4入门到实战系统学习3大热门技术|完结download:quangneng.com/2502/从入门到实战:Vue3、React18和TypeScript4的系统学习随着互联网技术的不断发展,前端开发技术也在不断更新和进步。V
彭玘 彭玘
2星期前
TS 从入门到深度掌握,晋级TypeScript高手
TS从入门到深度掌握,晋级TypeScript高手download》chaoxingit.com/177/学习TypeScript从入门到深度掌握可以分为几个阶段:入门阶段:了解TypeScript的基本概念:学习TypeScript的基本概念,包括类型系
何婆子 何婆子
3个月前
2022升级—TypeScript系统入门到项目实战
2022升级—TypeScript系统入门到项目实战从TypeScript入门到项目实战download》https://chaoxingit.com/216/TypeScript是一种面向对象的编程语言,它是一种JavaScript的超集,可以作为Jav