为什么 Vim 比 VSCode 更好-

为什么 Vim 比 VSCode 更好-,第1张

在 Github 被微软收购后,它获得了一个非常重要的功能更新,称为Codespaces。

它使您可以直接从您的 repo 中编码,而不是从您自己的机器本地编码。您可以使用从浏览器运行 VSCode 的超快速服务器运行代码、提供和更新代码。精神的。

Vim 曾经是最便携的文本编辑器,因为您几乎可以在任何服务器机器上找到它,并通过 SSH 在终端中使用它。

好吧,现在 VSCode 正在采取一些措施。

您不仅可以在 Github 中运行它,而且还有一个版本的 VSCode 可以为您自己服务,称为Open VSCode Server。它允许您将 VSCode 安装到服务器上并在您想要的任何端口上提供应用程序。然后,您可以在浏览器中访问服务器地址,并以与 Codespaces 中相同的方式使用 VSCode,但免费。

Microsoft'sxtermjs用于 VSCode 自己的终端,作为自己独特的开源项目发布,并催生了大量不同的基于浏览器的终端;现在您可以在任意数量的不同服务器托管网站中找到终端。

经过很长时间显然反对开源以及他们正在接管的网络开发世界,该公司现在已经接受了开源。他们拥有 Ubuntu、Github、npmjscom,我很少遇到 不 使用 VSCode 的开发人员

一旦他们开始使应用程序变得如此便携,即使我尝试将脚趾浸入 Open VSCode。我想看看我是否喜欢远程编码的感觉,以及它所有的静噪 GUI 优点。

在我每月 5 英镑的廉价服务器上运行二进制文件后,它几乎立即崩溃并迫使我重新启动。

Vim 比任何 GUI 编辑器都具有优势有一些明显的原因。它轻巧快速,您可以在服务器上通过 SSH 进行编码,它将您留在终端中,它具有广泛的可用性、高度可移植性和高度可配置性。

所有这些你可能以前听过的原因,所以我想谈谈我喜欢它的更多个人原因,以及你可能认为 VSCode 更擅长的一些事情。

这让麻瓜们远离了。不,我在开玩笑。

实际上,学习 Vim 比学习乐器要容易得多,很多人都能做到;而且比学习阅读和写作要容易得多,这是几乎每个人都能做到的非常困难的事情。

困难的事情当然不应该成为程序员的威慑。学习困难的东西基本上是我们的面包和黄油。

学习与事物本身没有直接联系的困难事物是有好处的。您可以从中获得一些元技能。

我儿子 Yuri 最近学会了骑自行车,这对他来说很困难,因为骑自行车不是你可以逐步学习的东西。当你没有理性地解决它时,有一个跳跃或信仰跳跃的时刻,你只需要这样做并冒着跌倒的风险。

还有一件事也让它变得困难:自行车在你能骑之前都是垃圾。所以他很高兴只是推动他的滑板车,因为一开始它更容易,更有趣。

但自从他学会骑自行车后,尤里就再也没有碰过他的滑板车,因为它速度慢,乐趣也少。他不知道,但他也学到了一些元课程。

首先是有时学习一些东西需要信念的飞跃,你必须冒险去实现那个飞跃。另一个是有些东西是垃圾,直到你正确地学习它们……然后突然它们变得很聪明。

VSCode 是文本编辑器的踏板车。Vim 是自行车。

为什么会有这样的优势?嗯,这就是为什么它这么快。除了它有大约 7MB 的占用空间之外,Vim 一次只做一件事。

它不会扫描您的目录中的函数定义,它不会遍历语法树来为您提供复杂的自动完成建议,它不会计算光标的上下文并向文档 API 发出请求,它不会git blame对每一行代码都执行每个文件的自动下载语法。

但是 Vim 可以 做所有这些事情……只要你告诉它。

有些人喜欢自动功能,因为好吧,你为什么不希望你的生活更轻松呢?或者,也许您没有时间或精力来为这些小事流汗。

我想这取决于你觉得你工作的水平,你是否有精力使用终端命令来整理你的文件或阅读:help以了解如何配置你的 vimrc 文件(我:help在开始使用 Vim 时从未使用过,顺便说一句,互联网绝对是你早期的朋友)。

但老实说,我认识很多人以不那么有趣的方式浪费时间,比如在 Netflix 上翻阅《老友记》或重温《老友记》。

有时我想做一些不是完整编码的交互。如果我下班后或周末累了,过去我会玩音乐或玩电脑 游戏 ;现在我在家里修理一些东西,或者我修补 Vim。

想出一些我可以在 Vimscript 中编写的小功能,或者集成一个有用的命令行工具,甚至只是阅读:help一些我以前从未见过的东西,这让我有一些事情要做,这不是我 必须 完成的超级重要的事情,但不是完全浪费时间。

当我进入 Vim 时,我 100% 不再玩电脑 游戏 。这是因为控件非常像 游戏 。它们具有模块化结构,允许您使用不同变体的命令组合。这很像您在格斗 游戏 中进行连击的方式。

大多数命令分为两个、三个或四个部分。三部分结构的一个版本如下所示: *** 作符 - 文本对象 - 运动。

运算符 始终是 删除 更改 可视 选择 和 替换 中的一种。

文本对象 始终是 内部或 圆形 之一。

有很多不同的 动作 ,但我们稍后会介绍,现在我们可以将动作视为命令的一种目标。举个例子,我可以按 dib , 意思 是在 块内 删除。

*** 作 是 删除 , 文本 对象在 里面 , 动作 。 _ _ 这将删除(括号)块内的所有内容。

这些有很多不同的组合:

di' - 删除 '单 引号 ' 的内容

da ”— 删除 双 引号 _ _

dit - 删除 html 标签 的 内容 。 _

ci[ - c [ 括号 ] 变化

正如我之前所说,有很多 运动 命令可供选择,它们的行为会有所不同,具体取决于您是在三部分组合中使用它们,如上面,还是两部分组合(您错过了使命令运行的 文本对象 )光标的位置)。

以下是您可以在上述三部分组合中使用的一些相关 动作的列表:

if这些命令使您可以快速轻松地更改函数的参数或字符串的内容或块的内容。一旦你学会了它们,你就会希望能够在任何地方使用它们。

其他所有的文本编辑器都会感到非常笨重和笨重,而且你会在你能找到的每一个环境中安装“Vim 模式”。

Motions 是您在 Vim 中最常使用的键盘命令类型,因为它们可以单独用于移动光标。有些动作可以单独使用,有些动作仅在作为组合的一部分使用时才起作用。

例如 w (for word ) 键将一次跳过光标向前一个单词,但 ' 单引号本身并不是一个动作,并且做的事情完全不同。

有些动作会变成不同的类型,具体取决于它们是组合使用还是单独使用。例如,上述三部分组合中的 b键意味着 b lock 但当您单独使用它时,它意味着 b ack ,并且一次将光标向后移动一个单词。

Vim 命令在某种程度上是 上下文感知 的并且是模块化的。根据您使用它们的时间和光标所在的位置,不同的键表示和执行不同的 *** 作。

它很像一门语言,你可以把命令想象成一个句子: d elete in inside these ' single quotes '

近些年的技术圈,单以计算机语言界来说,稳坐第一把太师椅的Java“或将被取代”、迎接转折点、Java项目工程师风光不再等言论不绝于耳。在焦虑的大环境下,所有人好像都看起来很焦虑不安。

针对这类“唱衰论”,也不难理解。不仅,基于Java技术自身来讲,Oracle为此前版本三番五次地“晚到”,最后下决心会以六个月为期限加速Java的上架频率,可是针对开发人员来讲,做为开发环境更新速率太快,不利生产环境,也会为开发设计造成许多的兼容问题,无形之中平白被增多了劳动量,没有开发人员会高兴。

同时,新版本OracleJDK的不能免费商用问题也让Java失去原来的许多支持用户。据此,许多开发人员甚至用“作死”一词来描述Oracle的独裁。除开内部要素,从外界来说,2018年随之人工智能技术大火的Python、2017年谷歌发表声明将做为Android开发一级语言的Kotlin、2016年因前端开发而变成最火爆语言的JavaScript等等均向传统式计算机语言Java参与了挑战。但与其说语言遭受了挑战,说到底还是不同语言所应用的领域吸引的人才互相碰撞。

说到底的唱衰论,援引一名网友的见解来道破其本质,「当今世界只有俩种计算机语言,一种是每天挨训的,一种是没有人用的。」那么,在该观点后边真实的Java应用现况究竟怎样仿徨于Java围城之外的开发者们该怎样尽快把握Java有关的技术下一步,我们将从Java开发者最广泛的调查报告中一窥究竟,期望对大家有所裨益。参与该调查报告的有来自全球10500名的Java开发者。

一、Java开发者常会运用的JDK


截至现阶段,Java中JDK最大的赢家众所周知指的是OracleJDK和OpenJDK。不过随之JDK8和JDK11中许可和支持的变化,下一次的Java调研统计数据或者会产生很大变动。

二、开发者使用的JDK占比


不过依据该汇报的数据调查报告,其中,令人费解的是,很难搞清楚1%的Java开发者是怎样在“无JDK”的情况下进行Java编程的。

三、首要采用的JavaEE版本是啥


按照数据调查报告,有38%的Java开发人员根本不运用JavaEE。估计不少都使用了SpringFramework。不过或者也有一些Swing和JavaFX开发人员。

四、首要采用什么JVM语言


虽然如文章伊始提到的,2017年,谷歌将Kotlin当做Android官方网编程语言,“Java将被取代”观点也随之而来。但是依据调查研究报告结果显示,在这一问题中,Java依然占主导地位。而Kotlin只是242%的受访者表达当今将其当做工程项目开发设计的首要语言。除此之外,它虽说超出了Scala的利用率,但仍然落后于Clojure。

五、哪几个IDEJava开发人员常用


针对这一问题,一名网名为program9的软件工程师表示:“IntelliJIDEA是我采用过最好的IDE。以前我用过Eclipse和NetBeans,可是自从我尝试了IntelliJ,我再也不会回过头来。这样的话我觉得代表,我不喜欢vi/vim编辑器。实际上,我喜欢用他们来迅速编写文件或撰写bash脚本。我觉得所有开发者都应当具有运用vim和bash脚本的一些基础知识。”

按照报告显示,有45%的开发人员以IntelliJIDEA为开发Java项目的IDE。次之各自有38%的开发者采用全免费的Eclipse和11%的受访者使用NetBeans。

六、首要采用哪几种构建工具


许多开发人员在他们的项目中使用不同的构建工具,因此值得注意的是,调查中的问题是要求开发者选择使用的主要构建工具。而绝大部分工程项目全部都是采用maven构建的。

七、Java开发人员采用哪几种CI工具


如同大部分开发者所期待的那般,Jenkins以高达57%的市场占有率获得CI服务器工具。此外,也有21%的开发人员尚未采用所有别的的CI工具。

八、开发设计团队首要采用哪些源代码管理工具


针对有74%的受访者选用Git,合乎情理也属于情理之中。但令人惊讶的是,竟有16%的开发人员仍在采用Subversion(akaSVN)。

九、首要应用哪几个测试技术


知名软件工程大师RobertCMartin在他关于软件开发专业化的探讨中曾表达道:“我们(软件工程师)对企业系统相等于医生对人的心脏手术。我们都是企业挣钱或亏钱的根本原因我们都是把握企业命运线的人“。

殊不知,10%的开发者回应说他们都没有采用其他测试技术。嗯,在此祝愿岁月静好!

老实说,期望这些在平时开发设计中都没有测试代码习惯的10%的参与者仅仅自学的开发人员或是仍未加入工作的大学生。

十、Java程序员会采用哪几个非JVM语言


如今有许多的Java应用程序前端全部都是用JavaScript编辑。按照调查研究报告结果显示,57%的受访者表达采用JavaScript语言,但并不清楚他们最后采用的是纯JavaScript还是别的其他相近TypeScript的语法超集。次之,有56%的程序员选用SQL,也有8%的受访者表达尚未工程项目中使用任何别的非JVM语言。

十一、哪几个Web框架是Java开发人员的最喜欢


有40%的受访者挑选了SpringBoot架构,有36%的开发人员选取了SpringMVC,两者之间利用率差距不大。

十二、开发者采用哪几个ORM架构


注:该选项为多选,因而总量不等于100%。

按照汇报显示,有高于一半的开发者运用了Hibernate。次之有23%的受访者选取了JDBC。但严格意义上而言,JDBC并非ORM框架,因此说选取None这一选项的开发者也有将会采用JDBC。

十三、Java开发者采用哪种数据库


Oracle占有率27%,稳居榜首,随后是MySQL和PostgreSQL。只有9%的Java开发人员采用了MicrosoftSQL,这并不奇怪,是因为这是C#的利基。

MongoDB是NoSQL数据库产品中最热门的一种,使用的人数是IBMDb2数据库的5倍。

十四、哪几个应用服务器开发者最常使用


毫无疑问,Tomcat以41%的占比稳居第一。

十五、Java开发者多久发布一次新版本的代码


令人惊叹的是,7%的开发者表示每天多次发布项目更新代码。

十六、Java开发者的地理位置分布


根据调查显示,大多数的开发者位于欧洲。

十七、使用Java的开发者年龄分布


最为已有二十几年历史的Java,其使用者大多是伴随其发展成长起来的人,根据报告显示,有38%的软件开发人员年龄为30-40岁。

十八、程序员如何获得及学习有关Java技术


对于这个问题,这里的最大赢家应该是Google,很多程序员都会通过Google去搜索相关信息。而碰巧大多数答案都可以在StackOverflow中找到。

十九、Java开发者为开源贡献了多少


不论是国内还是海外的一些开发人员在空余时间都会自己构建小项目,但是整体而言,想要找到更多的时间去维护开源项目其实并不容易,按照前文的数据结果显示,38%的Java开发者年龄处于30-40岁之间,此时,日常工作以及家庭占据了他们大多数时间,很难再抽出空闲时间。这也是为什么有55%的人从未开源过项目。

推荐前几天刚刚开源的一个平台:众安DevCube研发运维一体化平台,DevCube通过打通项目管理、CI/CD、自动化测试、智能监控、代码质量等平台,打造具有企业特色的DevOps工具链体系,整合业务、产品、研发、运维等角色端到端的协作过程,提供敏捷项目管理、高效自动化测试体系、自动化运维等实践,完整覆盖DevOps体系的研发域、发布域、测试域和运维域,从业务链路上贯通研发、运维全流程,帮助各个业务团队提升开发效率、降低研发成本投入。可访问官网联系客服试用 >测试团队使用的主流测试用例管理平台:1PingCode ;2TestRail;3Testlink;4Zephyr+Jira;5TestCenter;6飞蛾。

目前市面上的测试用例管理工具有很多,但由于针对的项目、领域、目标用户,功能也并不一样,所以选择一款适合的测试管理平台并不轻松。做好这件事,首先要需求明确你用测试管理工具干什么? 最终想要达到什么目标?

只有这样才能进一步完成对测试用例管理平台的选型,测试管理工具大体上分俩类:

一类就是针对QA的功能测试,主要是满足测试人员对用例的维护,测试计划的建立,用例的执行,以及生成测试报告等;

另一类就是针对开发人员的接口测试,功能测试,压力测试,性能测试,以及自动化测

等。

这2种不同的使用场景,对工具的要求也大不相同,在不同的企业内,这2种不同的场景可能一个测试团队来完成,也有可能是测试人员只是负责功能的测试,开发人员来完成接口测试,功能测试,压力测试,性能测试,以及自动化测试,这完全取决于整个研发团队的工程化能力和人员配置。

聊到测试,有的人说用Excel就足以,通过Excel来维护测试用例,每次产品发布,按照Excel里面的用例,把产品功能过一遍,这样做也没问题,但是你想过没有,随着项目的迭代,复杂度的增加,Excel的缺点就显而易见了,工作的效率及其低下,并且不能多人合作,用例的版本维护也是乱七八糟,并且无法与缺陷做到实时关联,可以说用Excel来测试的团队,是那种及其小的团队,一个测试人员而已,或者没有专门的测试人员,由产品来代劳。

而在一些稍具规模的公司,基本上都会选择一个成熟的测试管理工具来管理整个测试任务,多人协作,包括用例评审,讨论,版本,测试和需求,缺陷的关联,测试报告以及后续的统计分析,能更好的支持反馈和跟踪,持续提高产品的质量,保证产品的稳定性,然而测试管理工具非常多,功能也不尽相同,如何能选出一款符合自己的测试管理工具就需要各种调研。

所以这里对主流测试管理工具进行了分析对比:

6大主流测试管理工具对比

1PingCode

国内近几年最受欢迎的测试用例管理工具之一,替代TestLink、SVN的热门选择。

PingCode 具有成熟的功能,不错的 *** 作体验,还是一站式的研发项目管理软件。能够帮助团队把控测试质量、管理测试过程、实现团队内外部的协同。

具体测试管理功能包括:测试用例库管理、编写用例、用例维护、测试规划与执行、关联用户故事与缺陷、测试报告与测试报表、关联自动化测试工具,掌握测试进度和执行结果情况等等能力。

最让我喜欢的是,PingCode 支持用例自定义,这对于对扩展有情结的人来说非常重要,因为业务是多变的,多给自己留点空间,同时用例导入这块支持脑图的导入、支持代码工具git、CI/CD工具jinkens等也是非常吸引我的。

优点

用户体验非常友好、简单易上手;

功能全面,一站式研发管理,支持测试关联缺陷、用户故事、文档、CI/CD等;

大数据模式支持友好、多维度规划测试计划、测试用例版本控制

为25人以下团队免费提供基础版本,收费版价格仅为国外产品Jira的30%-40%;

国产化,支持信创、麒麟等;

支持私有部署、定制化以及saas等购买方式;

缺点

在自动化测试方面功能比较弱

PingCode 官网


2TestRail

TestRail是基于web下的用例管理系统,只需要通过浏览器即可访问TestRail。Testrail支持独立的用户管理,也支持集成LDAP。开通LDAP集成服务后直接使用AD账号登录,无需单独开通权限

优点

具有三种测试用例管理方式:普通,基线(类似Git分支),多套件;根据创建的测试场景执行测试,例如可自定义浏览器、 *** 作系统等;可集成众多缺陷追踪工具,如JIRA,GitHub,YouTrack等;提供Saas在线模式和独立部署版本;开放API。

缺点

三种用例组织方式中使用较复杂(仅普通方式较好理解和使用);交互设计较旧,10年前技术;SaaS版在国内访问速度很慢;价格较高。

官网: >


3Testlink

TestLink是一个用于管理测试过程并提供统计分析的开源软件。该软件发布于sourceforge,并采用Web界面交互,可以进行自动化的测试用例运行,并将测试结果生成报表并归档。

优点

开源免费具有一定的扩展性;

可集成众多缺陷追踪工具,如Jira、Redmine等;

提供需求管理;

用例可关联需求,并统计覆盖率。

缺点

不能把用例导出为Excel;

交互非常原始,难用;

界面不符合绝大部分中国人审美(极丑)。

官网: >

4Zephyr+Jira

Zephyr for Jira可促进任何Jira项目的测试管理功能。使用Zephyr,可以在Jira内部创建测试(测试用例),并在需要时执行,或者作为测试周期的一部分。通过一些自定义(使用适当的小工具),可以查看和跟踪详细的测试指标。

优点

作为Jira插件存在,也提供SaaS版独立运行;

测试中创建缺陷非常便利;

提供测试循环 *** 作;

提供多种报表。

缺点

不提供与其他第三方缺陷工具集成;

Jira的SaaS版本国内访问较慢(独立部署的Jira版比较吃服务器资源)。

官网:Atlassiancom


5TestCenter

TestCenter(简称TC)一款广受好评的测试管理平台,让测试工作更规范、更有效率,实现测试流程无纸化,测试数据资产化。

优点

国产软件,中文支持友好;自带Bug管理;支持测试需求管理;提供工时系统模块,提供测试人员绩效分析。

缺点

需要先设计需求–设计场景—最后才能设计用例;用例执行 *** 作较复杂;独立部署运行在WIndows系统上,官方帮助文档未提供Linux安装途径说明;基于Java+Flash(Flash在现代浏览器中已不推荐)。

6飞蛾

飞蛾是一款集测试用例管理、测试过程管理、测试项目管理、测试结果管理、测试报告管理一体的测试管理工具。 飞蛾团队参照了国内外的测试管理工具的优缺点,并结合了国内测试工程师的工作习惯,研发了一款适合国内测试团队的测试管理工具。

优点

实时绘制项目进度甘特图;实时协同,测试工作在一个实时界面中,自动更新状态,协同效率高;里程碑概念符合现代敏捷开发趋势;支持集成第三方缺陷工具(Jira、Readmine、Trello等);交互设计很亮眼, *** 作效率极高,非常值得推荐。

缺点

不兼容老浏览器,只支持主流的现代浏览器;模块不是无限级的。

官网: >

总结

以上工具大部分都适用中小测试团队,较大团队使用的工具我没有去研究,这些工具也都较重,比方说惠普的ALM、IBMRationalQualityManager等(其实就是贵,土豪请随意)。针对自己团队情况可根据功能、软件开放性、价格、协作效率、交互设计等维度选择需要的工具。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10750181.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存