首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我是如何在公司项目中使用ESLint来提升代码质量的

ESLint:你认识我吗 ESLint是一个语法规则和代码风格的检查工具。 和学习所有编程语言一样,想要入门ESLint,首先要去它的官网看看:https://eslint.org/。...然后,我们要去项目的根目录里面手动创建一个.eslintrc文件,然后在里面敲入以下代码: { "extends": "standard" } 执行完以上步骤,我们就可以使用ESLint这个工具来校验项目里的代码...其实这些错误都可以让ESLint帮助我们自动地修复。 那么我们该怎么做呢?...怎么在项目中预处理错误,eslint-loader来帮忙 我希望在项目开发的过程当中,每次修改代码,它都能够自动进行ESLint的检查。...里面就会马上报错,此刻我猜想terminal的内心活动应该是:“TMD,写的什么烂代码,天天写bug气得我每次脸都涨的通红”~~~ 幸运的是,机器是没有感情的,我们却可以嗨皮地立马定位到错误,然后把它改掉就可以了

2.2K80

我是怎么读代码的

有的时候可能就是觉得某项技术很神奇,像魔法一样,越是猜不透,就越想了解它是怎么“施法”的。 总之一旦有了兴趣,就会很想进一步去了解它。不过,如果读到一半又失去了兴趣,也请大胆放弃它。...抓住主线,从抽象到实现 主线就是从输入是怎么样一步步产生输出的。在这一过程中,会涉及到多个模块,每一个模块又有自己的输入和输出。...一个典型的例子就是在学习 B+Tree 的分裂、合并、上移下移的时候,全看代码特别不直观,想要理解这类内容画图定有奇效: 必要时借助 debug 有一些代码为了正确性、性能等考虑,其表述可能会让人百思不得其解...当我们能用图表和文字来表达出软件的完整设计后,我们对代码的理解已经比较透彻,甚至,让我们自己来照着写一个新的也不是不可能了。 这个时候,就应该进一步的思考,如果是我自己来解决问题,我会怎么做?...我个人喜欢通过减少 Slide 中文字的数量,来倒逼自己提升表达的逻辑性与连贯性。可以尝试思考,如果内容只是一张图,那么要怎么讲清楚这张图,用这种办法训练表达能力。

1.3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    问你一个简单的问题:IP是怎么来的,又是怎么没的?

    我来举例说明。 192.168.1.6 就在你这台机器的旁边,甚至是在同一个交换机上,而你把机器的地址设为了16.158.23.6。...不可能,Linux 不会让你配置成功的,因为网关要和当前的网络至少一个网卡是同一个网段的,怎么可能 16.158.23.6 的网关是 192.168.1.6 呢?...你可能会问了,配置了 IP 之后一般不能变的,配置一个服务端的机器还可以,但是如果是客户端的机器呢?我抱着一台笔记本电脑在公司里走来走去,或者白天来晚上走,每次使用都要配置 IP 地址,那可怎么办?...解析 DHCP 的工作方式 当一台机器新加入一个网络的时候,肯定一脸懵,啥情况都不知道,只知道自己的 MAC 地址。怎么办?先吼一句,我来啦,有人吗?这时候的沟通基本靠“吼”。...解析 PXE 的工作过程 接下来我们来详细看一下 PXE 的工作过程。 首先,启动 PXE 客户端。第一步是通过 DHCP 协议告诉 DHCP Server,我刚来,一穷二白,啥都没有。

    1K20

    电脑的 ip 是怎么来的呢?我又没有配置过

    来源 | 苦逼的码农 作者 | 帅地 对于我们平时上网的电脑的 ip 是如何来的呢?一种简单的方法就是我们自己来配置了 ?...显然,这里有两种配置方式,一种是自动获取 ip 地址,一种是我们手动来设置,我相信大部分人都是通过自动获取的方式来得到 ip 的,那么问题来了,它是如何自动获得到的呢?...为了解决这个问题,客户端会发送一个广播,我们知道,广播报文是会发送局域网内的所有其他主机的,广播的目的 ip 是 255.255.255.255,目的端口是 67,为了让别人知道它是来请求一个 ip 的...意在告诉别人:我现在啥也没有,急需一个 ip,哪位老铁能给我提供一个 ip。 ? 我们把这个请求 ip 的报文称之为 discover 报文。...报文来作为自己的 ip,一般是选择最先收到的 offer 报文,选择好之后,会给对应的 DHCP 服务器次发送一个 request 报文,意在告诉它,我看中了你的报文。

    1.3K31

    这个语句报了无效语法的错误 但是我不知道是哪里写错了

    一、前言 前几天在Python最强王者交流群【群除我佬】问了一个Pandas处理的问题,提问截图如下: 代码如下所示: songid_tags_df['tblTags'].map(lambda x :..., x) if isinstance(x,str)) 二、实现过程 后来我自己给了一个示例代码,如下所示: songid_tags_df['tblTags'].map(lambda x: re.findall..., x) if isinstance(x, str) else x) 后来【隔壁山楂】也给了一个可行的代码,如下所示: songid_tags_df['tblTags'].astype(str).str.extract...三、总结 大家好,我是皮皮。这篇文章主要盘点了一个Pandas处理的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。...最后感谢粉丝【群除我佬】提问,感谢【皮皮】、【瑜亮老师】、【隔壁山楂】给出的思路和代码解析,感谢【Python进阶者】、【孤独】等人参与学习交流。

    69920

    我是怎么把一个项目带崩的!!!

    来源:http://www.cnblogs.com/zer0Black/ 我是一名项目经理,在过去的四个月里,我把一个项目带崩了(上线后频出问题,用户无法使用)。...但我没有在正确的时候给予他们正确的指引,项目中出现的困难点,我也没有帮助他们解决,甚至于没有给出思路。所有的一切,都靠他们自己完成。我在这个项目里做的,就是对接客户,催进度。再无第三件事。...毕竟现 在剩下来一分钟,以后要花一个小时去弥补 3 若无法全局掌控,就指派专人负责 这是我在项目中做的最错误的地方。 由于种种原因,我无法掌握到项目的每个要点和细节。而项目中有三个开发。...我并没指明其中某一个来负责整个项目,所有事情都让他们自己商量。从客户对接来的问题,我也是仅告知对应的开发。整个项目中,没有一个人对项目中的每个要点了如指掌。...目前暂时解决完毕,我简单说一下我是怎么填坑的: 1.和开发主流程的同事详细熟悉了所有需求要点 2.基于我对项目需求的熟悉,我花了三天把所有主流程的所有代码分析完毕,做出了我认为应该的修改,并实施部署到生产环境测试

    56820

    我是怎么把一个项目带崩的

    来源:http://t.cn/RDu62pM 项目和团队背景 我做错了什么 我在其中占有多重的因素 我怎么填坑的 我所吸取的教训总结 ---- 我是一名项目经理,在过去的四个月里,我把一个项目带崩了(上线后频出问题...但我没有在正确的时候给予他们正确的指引,项目中出现的困难点,我也没有帮助他们解决,甚至于没有给出思路。所有的一切,都靠他们自己完成。我在这个项目里做的,就是对接客户,催进度。再无第三件事。...毕竟现在剩下来一分钟,以后要花一个小时去弥补 若无法全局掌控,就指派专人负责 这是我在项目中做的最错误的地方。 由于种种原因,我无法掌握到项目的每个要点和细节。而项目中有三个开发。...我并没指明其中某一个来负责整个项目,所有事情都让他们自己商量。从客户对接来的问题,我也是仅告知对应的开发。整个项目中,没有一个人对项目中的每个要点了如指掌。...目前暂时解决完毕,我简单说一下我是怎么填坑的: 1.和开发主流程的同事详细熟悉了所有需求要点 2.基于我对项目需求的熟悉,我花了三天把所有主流程的所有代码分析完毕,做出了我认为应该的修改,并实施部署到生产环境测试

    51920

    红警95的代码开源了!我来教你怎么玩

    最早的一作因为启动程序名为 RA95.exe,而且是在 Windows 95 平台上,所以国内玩家习惯称其为“红警95”。...后来我才知道这游戏剧情其实挺猎奇的,大意是:1950年,爱因斯坦发明了时间机器,回到1933年的德国杀死了希特勒,想以此避免第二次世界大战,结果没想到带来了新的战争……但实际上大多数玩家压根就不关心这些...随便点开一个代码文件,你可能都会忍不住感叹一句“卧槽”……这注释、命名、代码排版都简直了! ? 可能有人会跟我一样,忍不住想把项目 clone 下来在自己电脑上跑起来。那你大概要失望了。...搞半天,EA 是在为他们6月份刚刚发售的《命令与征服》重置版做宣传啊! 别急,这条路不通,还有另一个选择,那就是 OpenRA。...(昨天在修改版上轻松搞定 1vs11) 考虑到 Github 连接网速较慢,我在 Gitee 上做了一个镜像: https://gitee.com/crossin/OpenRA 注意,如果你想编译的话,

    2.9K40

    在别人写的代码上做修改我是这样保证正确性

    详细方案设计在别人写的代码上做修改,做详细设计时,第一步要做的是充分评估改动影响;第二步是画流程图梳理改动前后的调用链和数据流,列出修改点;第三步是定好测试关键案例,确保结果的正确性。...后来我们就语音沟通了一下这些问题,虽说有些我还是不认同,但是也能明白他提的问题的道理。 有一条,是我新定了一个错误码,我的思考是是这个查询接口非常重要,希望出现问题和其他系统做区别。...另外一条,说我缺少非空判断。这个非空我是加了的,底层加了非空判断。逻辑是没有问题的。但是他觉得代码上层不加,语义上不连贯。我觉得逻辑应该内聚,自己做好的事情不应该让上层来做。...所以我的处理方式是新定义了一个模板,来确保不影响原有功能。Code Review同事让我将共用模板改一下,不要新建模板,模板多了不好维护。...但是开会Diff代码的时候(上线前将上一个版本的代码和这个版本的代码做比较),我开玩笑还提了一嘴,说同事说了“出问题他承担”。其实是隐含的劝诫一下,这句话有些慷他人之慨。

    1.2K20

    重构 -- 我是一个类,难道我不配有专属的测试代码吗?

    这点我以前确实没想过 刚看到这个观点的时候,我是很不以为然的,谁让它标题不吸引人>>>《构建测试体系》 就这标题,谁不知道要测试啊。还好我没有“以貌取文”,我认真的看了下去。...为什么调试会花掉大把时间,因为工程大啊,你说它突然来个段错误,你知道是哪里段错误?段错误会死机,那不死机的呢?...每个类都配备测试代码,烦不烦啊你? 烦。但是项目run的时候爆了烦不烦?那会儿可就不是一个人烦了,那是一个团队一起烦。...行吧,我写,那怎么写啊? 怎么写那是个人自己的事情。但是,我想说的是,测试代码,最好写在功能类之前,这样可以预先界定功能类的具体功能,也可以把思路清晰一下。 至于测试代码要测试哪些东西?...你害怕哪里出问题就重点测试哪里,我们不能确保在测试代码中把所有问题全暴露出来,但是我们要花最少的时间,将利益最大化!!!

    73940

    ⚡️ 一个LED灯的自述:我是如何被5层代码点亮的

    这种通用性是通过仅依赖embedded-hal特征来实现的。这样编写的驱动程序被称为平台无关的。值得庆幸的是,crates.io上的驱动程序大多都采用了这种平台无关的设计。...接着是panic-halt包。它的作用是在程序发生严重错误时,让系统进入一个安全的停止状态。代码中的use panic_halt as _就是在使用它。...最后是embedded-hal包,它像是一个通用的翻译器,定义了控制硬件的标准接口。在代码中,我们用use embedded_hal::digital::OutputPin来操作引脚。...这个包让我们可以用统一的方式来控制不同的硬件设备。如果删除这些依赖包中的任何一个,我们的代码就会像缺少零件的机器一样无法工作。...从顶层开始:应用层(main,好比宅子的主人)是用户代码所在的位置,它通过调用 Board 接口来控制 LED 矩阵,而无需关心底层实现细节。

    42210

    弱智错误第二篇:我是如何毁掉一个网游公司的

    原文出处: mkrecny 译文出处:外刊IT评论 【导读】:前几天的一篇文章《为什么Hacker News昨晚一夜宕机》讲的也是一个低级错误,但那个犯错误的人是老板自己,他在问题未解决前仍然能回家睡觉...,但如果你不是老板,而是一个普通员工,而且犯了一个无法饶恕的愚蠢错误,那你知道你的下场吗——死的很惨。...有两个“工程师”在为公司的旗舰产品——一款RPG游戏——写代码,我是其中之一。我在大学里学的是哲学,这意味着,虽然我知道如何去思考、解决一个问题,但我对最佳实践方法、设计模式等方面的知识很缺乏。...同事山姆被大量的重构工作纠缠住,于是我就幸运的有机会去开发一些新的令人兴奋的东西了。 我们的开发环境的一大特色是,我们开发代码直接连的是生产库。...大家都收到了一份邮件,里面称这是一个“初级程序员”的责任事故。公司里只有我和另外一个人被看作是“初级程序员”。 不超过三天,很显然,所有人都知道了是我。大家开始用异样的眼光看我。

    1.1K70

    1天搞出一个教育类App!我是怎么办到的

    最近项目组接了一个开发教育类APP的需求,经典要求:多快好省(功能样样有、项目要得急、还得低成本)手动。组长开始让调研一下给个方案,结果我啃哧啃哧1天就搞出来了,目前运行良好。...简单说一下背景:我司服务的甲方是一家备考学习平台,主要为成人教育提供考前辅导、在线课程直播、在线刷题等应用。在做APP之前,在XX优课的小程序也是由我们团队开发的,用的是微信原生开发。...开发需求:开发一个APP核心功能包含:课程录播、课程直播、在线刷题、资讯前端技术栈:WXML ;FinClip由于客户需求已经由小程序实现过一次,在没有新增需求的情况下,我选择了用小程序转APP的方式来实现...二、新增小程序登录FinClip 后台,在小程序管理->我的小程序新增一个小程序。比如新增了一个小程序叫newapp3,那么名称写newapp3,分类、标签、简介写其他即可。...4、上架在小程序管理->我的小程序找到newapp3->详情->审核版本->版本上架->确认上架。此时,小程序的代码就成功提交到云端了。

    26410

    我编写了一个应用程序来告诉你区块链是如何运作的

    我编写了一个应用程序来告诉你区块链是如何运作的 blockchain.gif 根据维基百科的描述, 区块链是: 一个分布式数据库, 用于维护不断增长的记录列表, 这个列表称作块 听起来挺棒的, 但它是如何运作的...为了演示一个区块链, 我们将使用一个名为Blockchain CLI的开源命令行界面. 我在这里也构建了一个基于浏览器的版本....ABlockOnTheBlockchain.png 索引(块号, Block#): 它是哪个块? (起始块(Genesis Block)有一个索引0) 哈希值(Hash): 块是否有效?...正如你稍后会看到的, 区块链上的每个区块都依赖于前一个区块. 所以, 我们需要起始块来挖掘我们的第一个区块. 当一个新的区块被挖掘时会发生什么? mining.gif 让我们来挖掘我们的第一个区块....你是否注意到区块哈希值的四个前导0? 四个前导0是一个有效散列值的最低要求.

    2.9K81

    老板说,2 天开发一个 App,双端支持,我是怎么做到的

    ​老板说,2 天开发一个 App,我用 Expo 做到了,当然,学习怎么使用 Expo 花了1个小时时间不算哈。...而且,Expo SDK 每年都会发布几次更新,哦不好意思,每个月都会更新,奶奶的,我刚用就从 50 更新到 51 了,也够速度的,但是好在,是兼容的,好处是确保你能用上最新最酷的功能,比如 react...我比较好奇的是他竟然帮我托管了我的签名,所以基本上意味着交给 eas 去构建,发布到 Google play,和 App Store 就是点点鼠标的事情,但是前提是你得功能测试过,不要闪退和白屏。...个人感觉,Expo是简化了开发流程的,而且还为你提供了强大的工具和服务。你只需要专注于编写业务代码,正在做移动端,或者想做移动端开发的,快去试试吧,我相信你会爱上它的。...反问一波那位说,你知道不是搞 Flutter 的吗,怎么突然就用 react native 了呢?我想说的是,这些都是工具而已,就好比我们夹菜用筷子,喝粥用瓢羹。

    41110

    JVM学习第二篇思考:一个Java代码是怎么运行起来的-下篇

    JVM学习第二篇思考:一个Java代码是怎么运行起来的-下篇 在上一篇《JVM学习第一篇思考:一个Java代码是怎么运行起来的-上篇》中咱们知道类一个Java类的生命周期需要经历以下七个阶段:类加载、验证...但是在初始化阶段,Java虚拟机严格规定了有且只有在以下几种情况下,类必须立即进行初始化的(注意初始化阶段在类生命周期中哪个阶段) 1.1:使用new关键字实例化对象的时候 当我们使用new关键字来创建...一个类既然有加载,那么它是怎么被加载的?这个时候,类加载器就该出场了。...扩展: 比较两个类是否相等的前提条件:两个类必须是同一个类加载器加载的。如果没有这个前提条件。比较的话,就是耍流氓。 比如:我要给你货币(法币):30000.当听到这个时候你是不是会很高兴呢?...因为有了双亲委派机制的存在,我在Son类或者是在Father类中使用的String类都是同一个。

    24020

    JVM学习第一篇思考:一个Java代码是怎么运行起来的-上篇

    JVM学习第一篇思考:一个Java代码是怎么运行起来的-上篇 作为一个使用Java语言开发的程序员,我们都知道,要想运行Java程序至少需要安装JRE(安装JDK也没问题)。...那么,你有没有想过,一个java文件是怎么运行起来的呢?中间都经历了哪些环节呢?我们都知道JVM是Java虚拟机,那么,有没有思考过JVM的内存模型是什么呢?...那么,有没有想过上面代码怎么运行的呢? 选中main方法,然后ruan as...,编译后,运行输出。这个流程我想大家都很熟悉的。那么对应的流程应该是什么样的呢?...static语句块要优先于子类的变量赋值操作 如果一个类中没有静态变量或者是静态的语句块的时候,编译器可以不为这个类创建()方法的 虚拟机会保证一个类的的()方法在多线程环境中被正确的加锁和同步...: 现在我们知道了一个Java类是怎么运行起来的了。

    40920

    D2C 设计稿转代码是怎么实现的?自己做一个可行吗?

    对前端工程师来说,如果能直接把设计稿转成可用的代码,是非常有意义的,那这样一个工具是怎么实现的呢? vue、react 等各平台的前端代码都可以通过一种树形数据结构来描述,比如 vdom。...这个问题也有两种解决方式,一个是手工标注,一个是 AI 算法生成。 手工标注就是使用者在设计稿中添加一个名字的标识,比如这样: 再就是通过算法来识别不同类型的组件,加上语义化的名字了。...D2C 的原理还是挺清晰的,但是能够做的多智能,上限取决于 AI 算法,当然,下限可以通过做一个编辑器来人工干预来保证。...我试了一下,还原度还可以: 设计稿是这样: Picasso 生成的 flex 布局的代码是这样: 结构和样式还原度还行。...这也不是我个人的观点,是转转的一篇文章里提到的: 总结 设计稿转代码的原理是从结构化的矢量图中提取信息,转换成中间 DSL,然后再生成各平台的代码。

    2.2K10
    领券