今天小新给大家分享一些提高JavaScript编码能力的应用方法。学完并付诸实践,你也可以成为一名编码技工~就我而言,我主要只使用VisualStudioCode,除了我需要使用AndroidStudio或iOS和Xcode的Android代码。这是微软开发的编辑器。这是微软的,听起来不错!!!几乎所有语言都支持,无数的附加组件,AI代码建议,漂亮的界面和淡淡的色调(不是SublimeText,但......仍然是淡淡的色调)过去,我只使用SublimeText(VSCode当时并不流行)时间)。大量的插件(下面讨论)为我节省了很多时间,例如自动检测和修复错误、格式化代码、git镜头、终端等......因为不再需要在编码时解决常见的小错误.如果您编写PHP,您会爱上PHPStorm。如果您编写Python,您会爱上PyCharm。不用说,这些编辑器功能强大,但是只支持一种语言。我是一名全栈开发人员,在JavaScript、HTML、PHP、NodeJS和ReactDocker方面都有经验……我使用VSCode是因为它非常强大并且支持很多插件,尤其是自动完成功能非常好。对ESLint一见钟情它是我花费最多时间也是最令人沮丧的语法错误,错误如未声明的变量/函数、空指针、缺少重音符号......随着代码的增长,一个人必须阅读几十个文件,很容易眼睛累,脑子乱,手开始敲每一行代码都是颤抖的,很容易粗心大意,容易出错。在使用ESLint时,这个插件可以帮助发现错误、检查语法和格式化代码,因此可以减少编码错误,并使代码在按照当前标准格式化后看起来更好。ESLint还支持很多其他大佬:JavaScript、React、Vue等,尤其是ESLint和VSCode的结合,这个结合堪称完美。可以立即检查代码键入以查看是否存在任何错误或语法问题,并提供有关如何使用函数和变量发挥最佳效果的建议。还有自动格式化的代码,您会喜欢的。除了ESLint,Prettier也可以用来格式化代码,但我更喜欢ESLint,因为它支持错误检测并提供优秀的代码建议。良好的目录结构我最近开始“接受”并告诉自己一件事:不要试图从一开始就优化项目结构。以前,在开始一个项目时,无论大小,我总是花很多时间来选择好的项目结构。我在google上看了各种“NodeJS文件夹结构的良好实践”,“ReactJS代码结构……”,但还是想知道这种结构好不好,我应该选择这种编码框架吗?这非常耗时。而且我还意识到,虽然我一开始尝试使用一个其他方面很好的结构,但几天后代码变得一团糟。因为我不擅长系统思考,一开始代码写得再漂亮也无所谓,到头来还是出问题了。从一开始就不要过多考虑选择哪种架构以及如何组织它。选择一个方向或者一个库,一个框架,开始研究,边走边改进,更好更实用。如果对结构良好的项目感兴趣,我会分享一个名为NestJS的NodeJS框架,我已经阅读了很多关于它的文档,发现它们的架构非常好(与AngularJS非常相似,虽然我不喜欢Angularmuch)感觉代码“坏了”,使用Console.log我很确定console.log是我在编写JavaScript时使用最多的。这样做的主要目的是查看感兴趣的数据是否真实。就我个人而言,我相信编程离不开数据,不管你用什么语言,所以如果看到什么乱七八糟的代码,可能是不正确的,你应该用console.log来确认。也有很多人觉得调试器应该看起来更专业。谷歌也支持把Debug放在代码行里,方便观察,其实我个人没必要,console.log也会注意到代码在哪一行,你用console.log越快越方便。我还在facebook上找到了一些世界著名的编码专家,他们仍然我使用控制台。这在编码时可能会令人沮丧和伤眼(就像我一样),这在很多时候需要冗长而复杂的代码。人们担心时隔很久再次阅读代码时,可能不知道这段代码是干什么的。还是怀着一颗人道主义的心,希望以后看到这段代码的人能够理解代码的作用。就个人而言,我发现写评论真的很有帮助,尤其是当项目涉及很多人时。而且,我们也不想每次不懂就去找写代码的朋友,而这个朋友还忙着修复一大堆测试人员布置的错误。如果代码本身可以解释,那么以后看到代码的人就可以马上弄明白并节省时间。但评论也必须看起来合理和舒适。没有必要评论一切。这有时会使代码难以阅读并且眼睛不舒服。在编写代码时,我选择易于理解的变量/函数名称,不要让长类/函数处理太多。相反,我会拆分成更小的类/函数(但不要拆分太多,拆分一定要合理,不要再看眼睛受伤了)。在需要时发表评论,并练习编写代码,使其“自我解释”。只需阅读它并了解它的作用。使用ES6、7、8、9标准JavaScript是一种快速发展的语言,另外还添加了许多强大的功能/库。据我所知,每年人们都会发布一个名为ECMAScript或ES的JavaScript标准。这些标准中的每一个都包含JavaScript中内置的新功能。2015ECMAScript6(ES6)2016ECMAScript7(ES7)2015ECMAScript8(ES8)2015ECMAScript9(ES9)2015ECMAScript10(ES10)....所以如果你利用ECMA的强大功能,你的代码会更快比仅仅使用传统的for和if,while循环看起来更好,更优化,看起来更酷(就像这篇文章的作者一样可爱)以下是我在编码时最常用的一些函数/运算符:跳过Promise/Callback并直接进行以Async/AwaitPromise/CallbackWhile编码的缺点是我们必须大量使用API。当调用后台或第三方接口获取数据展示时,需要做如下操作:如果只是想在获取用户列表成功后调用另外一个接口,通常需要做如下操作:当需要依次调用一系列的API,不好的事情就来了。当你的项目扩大规模并处理更复杂的请求时,你会看到这样的情况:Async/await是救命稻草自ES6(2015)以来,async/await被引入作为Promise/callbacks的替代方案来处理异步操作。async/await的美妙之处在于它有助于编写看起来同步的异步代码,一行一行地运行,看起来非常整洁。上面的代码可以用async/await改写:有一些注意事项:await总是出现在async之后使用try/catch来捕获异步函数中的错误处理操作await的本质是等待Promise的返回值,所以也用muchawait有时会减慢应用程序的速度。使用async/await而不是常规的Promise/Callback的另一个好处是可以使用try/catch捕获async/await错误。还要找到try/catchblock中的所有其他错误,而不仅仅是async/await使用Typescript提高代码质量故事开始了……我首先用C编程,然后用Java编程。这些语言功能强大,需要极其严格的代码,要求对数据类型(字符串、布尔值、……)或访问规范(公共、私有、保护……)进行清晰、完整的定义。那天跑代码累死了,因为不知道是public还是private,数据类型是什么,一直跑到报错。之后,开始使用JavaScript(或PHP、Python),无论数据类型如何,它都得到了极大的简化。只需声明变量即可使用:Letx=1consttest='Thisisatest'constarr=[1,2,3,4,5]这也是我一开始就喜欢JS的原因之一,因为语法很“免费”,没有那么乱,代码看起来干净漂亮。但生活不像梦。渐渐地,我意识到当一个项目有很多人写代码时,代码被重新阅读。真是纠结。由于我不知道这个变量是什么,函数会返回什么类型的数据?...constvar1=db.column1constvar2=db.column2constvar3=db.column3constvar4=db.column4那么现在呢?当然使用console.logconstvar1=db.column1console.log(var1)//->stringconstvar2=db.column2console.log(var2)//->boolean(true/false)constvar3=db.column3console.log(var3)//->numberconstvar4=db.column4console.log(var4)//->array这只是浪费时间,我以后不太可能回来看代码,新的代码读者也不会理解.那么,我或者其他读者要做几十条console.log语句才能明白,这段代码是干什么用的?TypeScript解决了这个问题在我看来,TypeScript是JavaScript的“升级版”。JavaScript代码现在将具有明确定义的类型(字符串、布尔值、数字等)、可访问的访问函数(公共、私有)……以及许多其他内容。用Typescript编写的代码将被编译为纯JavaScript,因此它会像往常一样运行,不需要专用的Typescript脚本或其他东西。看一些例子:我两年前听说过TypeScript,但还是不喜欢,也不想用,因为我就是喜欢JavaScript的自由。有时候也想试试看,可是我的眼睛很敏感,每次看到乱七八糟的东西,眼睛就更敏感了。但前段时间,我决定改用TypeScript,因为当我阅读旧代码或其他人的代码时,你会遇到我提到的令人头疼的问题。此外,开发人员社区倾向于使用TypeScript,并且经过了严格审查。目前,TypeScript在JavaScript开发人员中越来越受欢迎。库或框架(Angular、React或Vue)专注于TypeScript支持。对于那些不知道的人:Vue3绝对是100%对Typescript的重写。同时,对于微软开发的TypeScript,你也不用担心质量和支持问题。CI/CD-代码->测试->部署自动化测试听我说,你正在从事的项目迟早会失败。应对它的最好方法是边走边改进,总是花20%的时间来改进。唯一可以确定的方法是在没有错误(或错误最少)的情况下进行改进,或者编写测试。要知道,甚至可以在编码之前就写测试(HeadFirstJava推荐这种方式)CI/CD—ContinuousTestingandDeploymentCI/CD(持续集成/ContinuousIntegration)是现在的趋势,这种方式有利于自动和持续代码编写、测试和部署。事实上,几乎所有的CI/CD工具都集成到了Github、GitLab、BitBucket中。所以不用担心,您需要做的就是设置然后推送代码。DevOps平台(Github、gitlab、buckets)负责剩下的工作。我希望阅读本文后,您可以学习并找到提高JavaScript编码技能的方法。
