工控前辈经验之谈 | 编写PLC程序我从做Excel表开始

作为在工控自动化行业侵淫已久的工程技术人员,无论在程序编写,抑或现场处理都会总结出自己的一套,本文作者周舟,2001年开始接触PC控制和运动控制,先后就职于海天集团、施耐德电气、倍福自动化,宁波致迪自动化,以技术人员和市场人员的身份经历了浙江机械制造的重要发展阶段,也总结出自己的一套PLC编程经验,与大家分享。

//////////

次看了邓李老师的文章《》颇有些感受。工作快20年,多少写了些程序,大多是和机器相关的,记得本科的毕业设计是用VB+数据采集卡写了一个拖拉机发动机喷油嘴的弹簧测试,硕士课题用C在Linux下做了一些代码,而毕业后在海天,和师傅一起,继续在Linux下用C和QT堆了一台注塑机的控制器出来。

01

第一次接触PLC,是在海天公司给一台双色注塑机增加一个转轴功能,这个功能注塑机电脑上没有,所以外加了一个PLC,记得当时用的是三菱FX,这是我接触的第一个PLC,当时因为供应商提供了PLC、伺服电机、减速机等一套产品,所以程序也就让供应商写了。

到了倍福之后,由于整个办事处就我一个人,处于什么都干的状态,所以除了销售工作,也做技术支持。记得第一个项目是上海的同事写的代码,同事来现场一次,后面的维护我接过来。所幸TwinCAT2这软件比较简单,一来二去自己就上手了。

后来慢慢地也给客户写一点DEMO,用来给客户解释为啥IEC61131-3是一个简单的东西,不像想象的那么难,不要一想到ST语言就想到高级语言,等等诸如此类的问题。写着写着,也有了一些心得。

在聊聊这些心得之前,先说点题外话。我做过两件和工作不太相关的学习,一次是读研究生时,一个培训班来学校推销ISO内审员的培训,当时因为好奇去报了名,花了几百块钱听了一堆ISO的知识,记得讲课的是一位老干部。另一次是刚上班时,去报了一个计算机高级程序员的考试,看了几个月书,离及格线差了那么一大点(不是一小点)。但这两个事情,对我的影响比较大,ISO的学习,让我理解了凡事要有流程,流程要有标准,标准要有数据,数据要可追溯,这为后来理解工业4.0打下了基础,而高级程序员的考试,让我学到不少IT的知识,尤其是软件工程方面的知识,对于构建一个大的程序,还是有帮助的。

下面的心得,和这两件事情,有比较大的关系,说穿了,就是多做纸面工作

02

在写代码之前,我会先建个EXCEL表格大约有这么几项(这里我虚拟了一个立体车库的项目,因为每天到办公室都会和立体车库打交道):

1IO表,输入输出的模块型号,模块的位置,每个模块上每个点的定义,以及外面接的是什么元器件。对于一些电气CAD软件,会自动生成这个表,但我们还是建议用EXCEL做一份,以便存档。

2变量表,一部分变量是有地址的,比如需要和上面提到的IO表进行对应,比如Modbus通讯。Modbus通讯需要定义变量地址,而IO对应的不需要在程序中指定,只要在系统配置中和硬件进行连接。另一部分变量是没有地址的,但也不能随便定义,要有一定的规则,以便阅读。

3结构体(Structure),结构体的设计,可以放在变量表之前,为了提高效率,我们会设计一些结构体来做数据类型,比如一个气缸,就可以设计一个结构体来表述,这个结构体会包含气缸的方向,磁性开关状态,以及两个方向的超时报警时间。在使用到气缸时,就可以用这个结构体类型来直接定义气缸,而无需去定义每个气缸设计的变量。

必要的话,可以设计枚举变量,用来表述机器的状态。

4POU名称(Program Organization Unit程序组织单元)。POU有三种类型:程序(Program)、功能块(Function Block)、函数(Function)。在规划阶段,程序和功能块的构建是很重要的,功能块会降低很多重复工作,从而避免一些普遍性的错误(当然,错了也就都错了),程序的调用、状态的切换是否清晰可控,则决定了整个项目是否足够强壮,并可持久改进及维护。

5工艺说明,包括各个工作步骤、步骤的衔接、条件的转换等。这个步骤,可以在EXCEL中做,也可以用word、PPT,但相比之下,EXCEL可能是个更好的选择,因为EXCEL的纸面是没有限制大小的,而word和PPT很容易遇到编辑范围太小的问题。

当然,也可以在纸张上来画。我个人建议每个项目备一个A4的本子,和EXCEL配合使用。

做完这个表格之后,我习惯将变量表直接复制到TwinCAT中,因为在EXCEL中,很多重复工作可以直接选中表格单元进行拖拉复制,比如注释的“(* ”和“*)”,以及末尾的“;”,都是直接复制单元格的,而对于一些带序号的变量,如X0-X7,顺序复制即可,这会在大幅度减少工作量的同时,降低变量编写出错机率。

在程序编写过程中,除了用于for循环的累加数,以及用来调试时的一些标志之外,如果要增加有实际意义的变量名,必须先在EXCEL里增加,再复制到程序中。这有点强迫症,但事实证明,这个有用。

接下去就是建立各个POU,对于功能块,要写好输入变量和输出变量,而函数只需要有参数即可。写完了每个POU,记得在每个POU的主体敲个\”;\”,这样,即使我们一句代码也不写,也是可以编译通过的。如果这时候编译不通过,可以看看是不是哪里有手误了,因为这时候能错的地方都是系统保留字,或者是忘记敲\”;\”,注释的括号少了之类。

接下来是不是写代码?不是的,是先写注释,而且是全面注释,即在各个功能块中,先写好注释。在TwinCAT中,一个程序块只需要一个“;”,即可编译通过,我们上面已经敲好了\”;\”,所以不用担心没有代码会造成程序不能编译。

我们回到前面第4点,如果流程图已经画好,那我们就把流程图搬到编程环境中,还是按照从大到小的原则,我们先把步骤编好,具体每一步里面做什么,可能远不如步骤之间怎么切换衔接来得重要。所以,在这个过程中,我们还可以用注释来替代代码,但别忘了在各种for、case中加上“;”。

最后一步,让我们在所有注释的地方,把代码写上。然后,编译一下。

如果有人可以把PackML的文档看一遍,会发现里面就有关于状态切换的图表,如果有兴趣,可以去找下PackML的文档。

如果你用的是TwinCAT或者Codesys的环境,我建议在写EXCEL表格和画流程图的时候,顺带把人机界面的草图也画了,我觉得集成人机界面的开发环境就是自动化工程师的大救星。人机界面和PLC在同一个环境内,意味着可以随时看到工程师想看到的内容,比如在调试时,需要看多个变量,那建在人机界面上会方便很多,不需要在程序中在线观察。

人机界面和PLC的集成,除了大大提高自动化工程师的幸福感之外,也会极大激发自动化工程师的创作欲望。比如有些DEMO,我会将逻辑动作的条件和输出状态都放在画面中,这样可以很清楚看到一个逻辑动作没有执行的原因,比如某几个动作有先后,那做个定时器或者多个定时器,将这些定时器的输出放在同一个画面,就可以明察秋毫了。

写完了程序,机器也动了,我们再来做一张表,就是修改记录,在这张表里,我们写下,某年某月某日,为了什么原因,我们改了哪个程序,怎么改的,修改后我们怎么测试的,测试的效果如何。

而修改的程序,不建议直接在原程序上改,可以建一个新的POU,也可以在POU里写一个新的action,在对应的调用处改掉调用名字即可。这样,即使新的程序出了问题,也很容易改回(RollBack)到原来的程序。而新的代码中,记得在头部写好注释。

03

至此,我们回过头来看看,我们获得了哪些好处:

1、我们有了一个清晰的名字列表,包括变量的、IO的、程序的

2、我们有了一个清晰的结构

3、所有的问题会有据可查。

上面这几点是针对程序本身的益处,而对于项目和企业而言,则有更大的意义:

1通过分解,将代码部分的工作量比例降低了,这种逐步聚焦的方式,可以让工程师把精力放在最关键的地方。

2便于沟通,在代码之前的这些工作,都可以和其他人共享,比如IO表部分可以和电气工程师以及电工沟通,程序流程部分可以用来和工艺工程师沟通。

3便于维护,在移交给其他工程师,或者多人开发同一项目时会方便很多。如果没有注释,基本上工程师自己都会忘记原来写的什么。

4便于更换平台,当需要更换一个控制器平台时,会发现,大部分工作是相通共用的,这会在切换平台时节约大量的时间。

本文用了一些IEC61131-3的概念,关于IEC61131-3的书很少,推荐彭瑜老师和何衍庆老师的那本《IEC61131-3编程语言及应用基础》,机械工业出版社出版,这本书我买了应该不下三十本,用来送人。记得在倍福10周年庆典那天,公司邀请了彭瑜老师,恰好庆典在附近举办,席间跑步前进到福州路的上海书城,居然买到了那本《IEC61131-3编程语言及应用基础》,请彭瑜老师签了个名,留作纪念。

另外推荐林锐博士写的《高质量程序设计指南 C++/C语言》,这本书有人不喜欢,觉得这本书水份太多,干货太少,但读起来还是比较轻松的,这本书出到了第三版,目前在网上有很多二手的在销售,也有一些电子版的,建议找来读一读。

后记

写这篇文章的原因,一方面是看了邓李老师的文章,也想谈谈自己的心得,另一方面,也是看到随着工业4.0的普及,以及我国OEM制造业正在向高端发展,PLC程序方面,也慢慢向IT方向发展。

相比于PC或者网络软件,自动化程序有几个特点:

1、使用对象比较窄,这造成了对程序的质量要求、功能要求都不是太高,机器能开就行。

2、代码量小,因为1的原因,以及机器本身的特性,PLC的代码量是很小的。

3、协作性很低,很多公司只有一个自动化工程师负责PLC程序,而且对程序质量要求很低,只要求机器能跑。

这些特点,造成了自动化行业,尤其是离散自动化行业,对于代码的质量基本是没有要求的。我记得大学时候买过一本《软件工程》的书,开头有个例子,是一个科幻电影里的飞船计算机艾尔出了软件故障的故事,随着现在机械设备制造业的发展,机器的销售越来越多,客户的需求也变得越来越定制化,这种软件的故障,在将来会慢慢出现,如何应对这个事情,唯一的道路,只能是从计算机行业去借一些经验来。

我作为一个销售来写这个文章,会有很多漏洞,但还是期望我的文字可以引起自动化工程师的共鸣,起到抛砖引玉的作用,大家一起为未来做些事情。

–END–

作者简介

周舟,硕士,2003年毕业于河南科技大学,师从张洛平教授,2001年开始接触PC控制和运动控制,先后就职于海天集团、施耐德电气、倍福自动化,宁波致迪自动化,以技术人员和市场人员的身份经历了浙江机械制造的重要发展阶段。

声明:本文由《工控百家谈》-工控参考独家发布,如需转载,请联系我们。

一个老牌程序员推荐的JavaScript的书籍,看了真的不后悔!

很多人问我怎么学前端?我的回答是:读书吧!相对于在网上学习,在项目中学习和跟着有经验的同事学习,书中有着相对完整的知识体系,每读一本好书都会带来一次全面的提高。而如果深一脚浅一脚的学习,写出代码的质量会参差不齐。初学者的首要任务是成为靠谱的熟练开发者,能够稳定的输出有一定质量的代码,这样才能让人放心的把任务交给你。从这个角度来看,跟着w3school类成体系的网络教程学习也是不错的选择,只不过我没有亲自实践过。

当然,对于小白或者根本看不懂书的开发者来说,我认为可以报个培训班,毕竟有着完善的体系,如果老师很负责的话,但是我认为程序员最重要的是学习能力和努力程度

在07年之前,我是在做IEonly的企业级B/S应用,虽然当时项目的JScript就已经非常复杂,但当时团队里有很多经验丰富的同事,多是跟他们请教 ,或者再MSDN和网上找答案。07年进入阿里之后,开始直面兼容性问题 ,同时开始单打独斗 ,这个阶段开始接触相关的前端书籍 ,最先购买的是《JavaScript高级程序设计》和《JavaScript DOM 编程艺术》。可以说比较幸运 ,挑中了这两本很靠谱的书(其实当时市面上书籍并不多 ,感谢选择出版这些书和翻译这些书的同学们) ,近来这两本书都出了第二版其生命力可见一斑。

这几年来,自认读的前端方面的书不算少,校招同学们问到有什么书推荐 ,我还是会列几个批次的书籍出来给大家,在这里公布一下,没法说这是最优学习路线 ,但真看进去了获得一个IT民工从业资格是没啥问题的。咱也先秀下书架吧(喜欢纸质书,可以翻旧,可以涂涂写写,可以折上几个页角,可以歪在一边用任何得劲儿的姿势看):

说说我对于书的选择,在从高级程序设计以及DOM编程艺术获得了较好的用户体验之后,基本上延续了选择译著的路子,属顺势而为倒没有什么特殊的因素在里头。而我一般不会推荐英文原版书,中文更具亲和力,JavaScript并不是一门多么高深的语言,我相信译者是可以在深刻理解原文的基础上做翻译的。我也会读一些外文书,而往往当我知道一本不错的书籍有了出版计划,就会停止精读,等译作出版( 比如不久前的《高性能JavaScript》)。不过确实有时会遇到术语翻译不一致,甚至翻译的不通顺的情况,好在多书网上可以找到英文电子版,实在不解之处对照一下也就可以了。

下面都是我精读过且觉得不错的书,先分分类再逐本分享下我的读书心得:

第一批次:入门级,也适合想掌握一些前端技能的非前端工程师。

  • 《JavaScript DOM 编程艺术》

第二批次:成为一名合格的前端工程师

  • 《JavaScript高级程序设计》(或《JavaScript权威指南》)
  • 《精通JavaScript》

第三批次:更优秀的代码 ,更优良的设计

  • 《JavaScript语言精粹》
  • 《JavaScript设计模式》

第四批次:从语言细节到复杂工程实践 ,想开发靠谱的各类底层代码 ,应该看看

  • 《Secrets of the JavaScript Ninja》
  • 《JavaScript Patterns》
  • 《ECMA-262 in Detail》

应该重视跟踪阅读一些大牛们的Blog了。

一直在等待:一本JavaScript语言作者或引擎实现者写的书。

专业篇:各类专题书籍,读好第二批次书籍之后,有精力就接触下。

  • 《高性能网站建设指南》
  • 《高性能网站建设进阶指南》
  • 《高性能JavaScript》
  • 《Ajax实战》
  • 《jQuery实战》
  • 《精通CSS》(或《CSS权威指南》)
  • 《正则表达式必知必会》(或《正则表达式权威指南》)
  • 应该选择:一本HTML5方面的书
  • 应该选择:一本NodeJS方面的书

《JavaScript DOM 编程艺术》

话说这本书的中文标题有一些标题党的,当初如果知道这仅是一本入门书籍,我是不会买来的。拿到后一天就看完了,对我来说没有太多技能上的实质帮助。不过这个书语言很流畅,重要的是对知识深浅度把握的很好,html/js/css/dom各个方面都把握在一个合适的度,这很符合我对书籍期望,一步步走,每一步都踏踏实实。

这本书通过几个实例,循序渐进的介绍了前端开发的方方面面,让大家能够了解前端的技术体系概况,又能具备了一些简单的动手能力。如果大家对我之前写过的浏览器端技术体系概览 — 前端开发的七种武器有些感觉,那读读这本书正好能上手实践一把。

去年,淘宝前端懒懒交流会的豆瓣小站上做了一个调查,如果非要您推荐一本适合新人学习的js方面的书,您的推荐是什么?虽然投票的人不多,但这本书却是遥遥领先。

《JavaScript高级程序设计》

这本书的第一版很全面且不枯燥的书籍,年纪轻轻的NCZ有这样的大作难能可贵。读懂这本书,前端技能又可以上一个台阶,基本上可以成为专业的前端工程师了。

对于当时的我来讲,这本书及时的补充了浏览器兼容性方面的知识 ,特别是事件相关的知识,这个浏览器间差别最大。有些内容讲的非常简单明了,比如call和apply的用法,之前总是理解不好,NCZ几句话+一个例子就说明白了。

然而作为全面型的书籍,第一版也是有一些问题的:

  1. 闭包只半页篇幅,没说清楚。
  2. 匿名函数没怎么讲。
  3. 全书没提到constructor,更别说hasOwnProperty ,__proto__。

这带来了我之前说的深一脚浅一脚的困扰,这些知识基本上是通过《JavaScript权威指南》阅读中补充的,当然当时版本的权威指南也有同样的问题,比如它没解释instanceof。也没提到__proto__。这造成了我对面向对象理解的不全面,当时在做了N多测试后,还很的写了一篇博文,面论述之后,果断删掉了这篇JY。

相信这本书的第二版,以及权威指南的第六版肯定会在这些方面进行补充。不过这两本书都是十足的大部头,高级程序设计第二版已经比权威指南去除附录要厚了。

一本全面且不枯燥的书太难找了,所以我还是喜欢第一版。对我技术上的提升帮助非常之大。忍不住再秀一张图( 当时在封闭开发Alimama.com,马云时常来,他不肯在书的第一页签名搞得好像他写的,于是把签名画在了第二页。)

《精通JavaScript》

我会把书籍分成两类,一类是全面型,一类是犀利型。前面介绍了一本全面型的书籍,接下来介绍的这本的特点是非常犀利,这类书籍的特点是作者能找对重点(2/8原则掌握的很好),在重点位置深入挖掘。这本书的作者John Resig也是jQuery的作者,他显然是个足够犀利的人儿。

jQuery从未承诺解决所有问题,但再一些重点部位的突破,让这个类库如此流行。这本书并没有着重介绍jQuery,还是基于原生的JavaScript和DOM API。

列一些这本书的重点话题 ,能够很好的看出作者为什么会开发出jQuery,或者说,jQuery为什么是现在的样子:

  1. 如何创建可复用的代码?如何调试 ,测试?(这是基础)
  2. 如何判断DOM何时加载完毕?如何遍历 ,修改DOM?(jQuery以DOM为核心,节点的增删改查,事件响应是重点)
  3. 如何确定元素的位置,相对于页面/屏幕?如何做平滑的动画?(思考下CSS相关的话题很多,作者为什么选了这两个?)
  4. 如何改进表单验证,封装完整的Ajax程序?(涉及数据交互,是另一个重中之重。)

不算厚的一本书,基本上就是以上的话题+几个实例。当我们看过了一本全面型的书籍,对前端的知识有了深入的了解之后,这本书的作者指出了今后的重点,并告诉大家如何把知识用到解决重点问题上。

《JavaScript语言精粹》

推荐大家看看阮一峰老师的博文《JavaScript诞生记》,JavaScript是Brendan Eich大神10天时间设计出的语言,现在成了Web前端领域的唯一语言。

一方面,这门语言博采众家之长,也帮助它维系了长久的生命力:

  1. 借鉴C语言的基本语法;
  2. 借鉴Java语言的数据类型和内存管理;
  3. 借鉴Scheme语言,将函数提升到”第一等公民”(first class)的地位;
  4. 借鉴Self语言,使用基于原型(prototype)的继承机制。”

另一方面,由于设计时间太短,语言的一些细节考虑得不够严谨,导致后来很长一段时间,Javascript写出来的程序混乱不堪。Brendan Eich对其这10天工作的评价是:“它的优秀之处并非原创,它的原创之处并不优秀。”

Douglas Crockford通过《JavaScript: The Good Parts》这本书对JavaScript进行了一次大审判,老道认为JavaScript语言有很多优秀的地方 ,也有一些鸡肋和糟粕。老道不反对用这门语言,在规避一些鸡肋和糟粕之后它自然是优秀的。老道认为JavaScript优美的特性如下:

  1. 函数是头等对象(可以作为其他函数的参数和返回值 ,支持闭包)
  2. 基于原型继承的动态对象
  3. 对象字面量和数组字面量(构成JSON的基础)

老道列出了很多鸡肋和糟粕,并提供了JSLint这个工具 ,来校验代码是否使用了不好的部分。书中给出的语法图,让我有深入学习一下的冲动 ,也理解了JSLint作为用JS语言分析JS语言的工具成型的理论基础。

强烈建议大家使用JSLint来检测自己的代码 ,但是我们不必教条,可以违返其中一些的检测规则,只要我们清楚老道为什么会设置这个规则,有什么风险?若我们不遵守这个规则,是否能回避相应的风险。

我觉得这本书最重要的意义是告诉我们为什么“它是鸡肋,它是糟粕”。这是经过前面的学习和大量实践之后 ,成熟的开发者应该关注的。比如:

  1. hasOwnProperty,老道说它糟粕的原因是因为这不是一个关键字 ,而是一个Object。prototype上可以被重写的方法。那么这个告诉我们 ,并不是不要用hasOwnProperty,而是要注意不要覆盖它。
  2. eval的主要问题是性能,大量的eval(类eval)语句降低了JS引擎的性能。而经过测试少量的eval语句+eval大段的JS文本性能并不差,有必要也可以考虑使用。

《JavaScript设计模式》

这是一本介绍JavaScript面向对象编程以及设计模式非常好的书籍。相对于又一本全面型书籍语言精粹,犀利型书籍登场了。我对面向对象的看法是:隐藏细节,方便做大。基于良好的抽象和封装,我们可以方便的自顶而下的设计,自底而上的开发。面向对象的优缺点不是本文的重点,这里不讨论 ,只能说这是一个非常不错的代码设计实现方法论。

JavaScript到底是不是一个面向对象的语言,从本质说一定是的,从表象来说OO的不那么明显。我们必须通过一些额外的代码实现诸如,划分公有/私有,接口,继承,多态等特性。

由于JavaScript语言的灵活性,实现的方式非常多。这本书的第一部分对常见的两类实现模式:类式继承和原型继承,都有非常好的最佳实践总结。所以我的想法是完全读懂它,然后按照这个来做就好了。如果这里介绍的实践足够强大,我们没有必要发明新的继承实现模式了,事实上YUI一直是这种模式,而新的JavaScript引擎甚至引入了Object。create方法,将一些动作写入标准内置在JS引擎中。

我们应该将视点放在设计模式上,GoF的设计模式那本书里的例子,对于前端开发来说并不都是很好理解,而这本书的例子全部是前端相关,有助于大家理解设计模式的精妙。还有些同学说,即使我不了解GoF的理论,我也在默默的用这些模式了。确实是这样,但我想我们关注设计模式,不光要学会各种模式是怎样的 ,更重要的是学习到各种模式适合什么场合,不适合什么场合。了解有什么优点,也要了解有什么缺点,你正在默默使用的模式存在隐患么?系统学习之后会对其更有把握。

前几天听同事说这本书全面断货,不知道是太火,还是印的太少,希望能尽快看到上架。

Secrets of the JavaScript Ninja

进入第四个批次,这里的书籍多数没有中译本出版。现阶段想开发靠谱的底层类库代码,确实需要啃一些外文书了。英文书很多,没有精力大量阅读,通常读一些口碑较好的书籍。

另外,到了这个批次,我的阅读量也相当的有限,所以肯定有很多好的内容没有提到,期望大家能继续推荐。而且到了这个批次,书籍产出肯定跟不上知识的更新速度,跟踪阅读一些JS大牛们的Blog应该成为习惯。这是jQuery作者的第二本书,自然优势犀利型的代表。John Resig已经陆续放出这本书的大部分内容,从2008年开始写,计划2012年5月出版。

如果说JR的第一本书能够看出为什么有jQuery,那么这本书能看出让jQuery发展下去,作者关注了哪些。我们会看到其实一些很细节的内容,比如强调测试用例的构建/自动化测试的方法,比如如何利用每个function实例的length属性,比如对with,eval的思考和发散等等。

关于这本书具体如何的好处,我还理不清,拿来开开眼界是非常不错的。记得玉伯大大组织了一波同学在翻译,不知进展如何了。

《JavaScript Patterns》

乍一看这本书标题 ,以为又是一本讲设计模式的书 ,那和《JavaScript设计模式》重复了,开始没有仔细关注。今年拔赤推荐了它,才发现者并不仅仅介绍GoF的设计模式,而是涵盖前端开发各个方面的先进理论。虽然是09年的书,这两年前端的很多较深刻变化在这边书里都能看到雏形。上一本书犀利,这本更全面。

作者Stoyan Stefanov是Yahoo的前端技术专家,从这本书中可以看到很多YUI3设计上的本源,比如在对象创建模式中介绍的模块模式/沙箱模式。近来CommonJS Loader的流行在这之上的继续深入发掘。这本书还包括代码测试,打包,部署,加载策略等各个流程中的诸多细节 ,这些构成了完整的体系在Yahoo在YUI3都有非常好的实践。

听说我们的同事拔赤和一舟在翻译这个本书 ,非常期待。

ECMA-262

这不是一本书,是俄罗斯小伙子写的一系列ECMA-262标准分析文章,ECMA-262-3系列已经很完整。标准像汇编语言一样枯燥,而这系列文章把枯燥的标准转化为一系列深入讨论的话题 ,配合恰到好处的示例,一定会让大家对JS引擎的认识再上一层。

网上有一些译文,但是由于类似文章译文比较少,很多英文还未达成一致表述,所以

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。