【.com快译】俗话说:工欲善其事,必先利其器。开发人员经常需要使用各种工具来加快他们的代码编写速度。即使在代码的测试环境中,他们也倾向于使用各种脚本和工具。通过与业内多位经验丰富的开发测试人员的深入交流,我们收集了目前最常用的七种编码工具,可以方便您提高团队的整体工作效率。1.LinuxI3WindowManager开发人员一直能够从Linux提供的灵活性和自由中受益。在此基础上,I3提高了用户对编程环境的全面掌控能力。通常,用于Linux的I3窗口管理器提供了一种轻量级的开源平铺样式,可用于控制窗口在屏幕上的外观和位置。I3平铺在操作系统的GUI(图形用户界面)之上,可以通过自动调整窗口大小和重新排列窗口来避免用户工作屏幕上的窗口重叠。以下是I3窗口管理器的主要特点:简单高效:作为一个轻量级的工具,I3专为具有最小处理能力的开发人员而设计。键盘控制:I3内置丰富的快捷键组合,适用于不同的操作。当然你也可以直接在它的config文件中添加其他的快捷方式来代替鼠标操作,移动tile,打开终端,改变布局等等。高效使用屏幕:通过使用I3提供的tiling,而不是大量的切换同一窗口中的多个选项卡,您可以以平铺方式打开任意数量的窗口。这对于需要在多个终端上来回切换的系统管理员,以及需要使用和测试多个终端的用户来说非常方便。自定义主题:您可以根据自己的喜好自定义I3的外观,包括微调其背景、窗口外观和操作行为、通知界面等。专家建议:使用I3的WorkspacesI3有一个非常有用的功能:开发者可以将各个窗口分组为具有不同编号的工作区,以在不同区域运行不同的工作流程。您可以通过索引或按下超级按钮隐藏其他窗口,仅突出显示主工作区窗口,并在不同工作区之间快速切换。此外,对于双显示器用户,可以先在每台显示器上打开一个工作区,然后通过单个快捷键操作将主工作区切换投影到指定显示器上。这将大大提高他们的生产力。2.VimVim适用于所有主要平台,是大多数编程语言的首选文本编辑器。它可以通过为开发者提供自定义的快捷键组合来提高编程效率。Vim有多种文本编辑模式,每种模式都可以针对特定任务进行优化。例如:您可能有一种模式适用于Python,另一种模式适用于C++。这些模式允许同一个快捷键针对不同的语言发出截然不同的操作命令。此外,用户可以在共享的.vimrc中配置Vim快捷方式。文件。专家建议:使用DRY原则设置Vim快捷键开发者一直提倡DRY(Don'tRepeatYourself)的思想,即:不要重复已经实现的功能。也就是说,把需要重复实现的功能代码尽量模块化,这样下次需要的时候可以直接调用。我们可以在设置Vim快捷方式时应用类似的原则。比如你发现工作中经常需要用Java实现二叉搜索树,你可以设置一个快捷方式,粘贴一个已经写好的二叉搜索树模板。3.BashBash是为GNU项目开发的免费Unixshell。长期以来,它一直被用作Linux、MacOS甚至Windows10的默认登录shell。事实上,Bash还支持数百个可以从应用程序内部调用的命令。Bash的亮点体现在脚本上。用户不需要一个接一个地输入一组命令,而是可以通过一个包含所有执行命令的shell脚本文件让它们自动依次执行。同时,由于Bash中的命令比较底层,用户可以在不打开桌面应用程序的情况下操作各种文件和内存。例如,您可以创建一个shell脚本,它可以系统地将一个硬盘驱动器的全部内容传输到另一个硬盘驱动器,而无需调用文件管理器。可见,Bash不仅效率更高,而且能够执行更专业的任务。专家建议:使用Bash的历史您可以通过以下方式获取Bash的历史,进一步提高执行效率和能力:多窗口历史记录:默认情况下,Bash只会记录第一个实例的历史命令已打开,不记录后续窗口的历史信息。但是,您可以使用命令:shopt-shistappend允许所有活动的Bash窗口记录历史命令。重复上一个命令:您可以使用键盘上的向上箭头,或ctrl+p组合键来查看最近执行的命令。反向搜索历史:只需按ctrl+r组合键,您就可以在Bash的历史记录中搜索过去的命令。Bash将使用自动填充来匹配。如果多行匹配,您可以再次按ctrl+r循环选择。4.函数式编程函数式编程是一种声明式编程范例,可用于构建具有纯函数集合的程序。这些程序往往由一些基本功能单元组合而成。值得注意的是,声明式编程关注的是构建什么,而不是如何构建。它通过提供数学和逻辑范式来帮助用户轻松设计声明式编程。函数式编程比其他方法更模块化。它将程序拆分成更小的功能函数,以便用户可以在整个程序中重用它们。当然,用户也可以根据模块化的功能,只复用整个解决方案的某一部分。此外,由于函数式编程中的数据保持不变,因此没有副作用。比如我们有一个从n开始的函数,我们需要把n传给function1,然后把function1的结果输入给function2。下面是两种不同方法的伪代码:blockmethod:intn=5;n=函数1(n);n=函数2(n);返回n;功能方法:intn=5;返回函数2(函数1(n));在函数式方法中,我们直接通过function1(n)将n传递给function2,而不是展开n,所以这种声明方式保证了n传递的值不会改变,从而保证函数在使用过程中不会产生任何副作用。专家建议:函数式思维,而不仅仅是语言适合这种范式的函数式编程语言包括:Clojure、Scala和Haskell等。虽然它们功能强大,但对于初学者来说并不容易上手。新手程序员需要通过以下方法在自己熟悉的编程语言中尝试训练和运用函数式思维:使用map、reduce等操作改变以往的块式编程思维。练习在每个程序中使用局部范围的变量和函数以减少副作用。由于递归方案需要函数式思维,因此在实践中更倾向于递归方案。5.反映回归测试是确认开发的软件在更新后仍能正常运行的过程。这是几乎每个开发者都必须经历的过程。但由于需要涵盖所有可能的错误,该过程也可能非常乏味。Reflect通过为任何网站创建自动回归测试来解决此类问题。它不需要任何安装,可以与任何JavaScript框架一起使用。具体操作步骤如下:进入“录制测试”模式,加载网站当前工作页面点击待测试功能停止录制测试,会生成测试脚本模拟各种点击输入测试版本目标网站地址激活测试脚本查看记录结果通常,测试结果会在出现问题时将截图发送到JavaScript控制台,方便用户快速从源头诊断问题。这种“一次录屏,多次模拟测试”的方式,不仅可以为用户节省大量手动测试时间,还可以为每次测试自动生成视频记录,显示准确的错误信息。简而言之,Reflect由于其简单性、可重现性和准确性,在开发人员中越来越受欢迎。专家建议:Reflect的高级功能除了上面介绍的Reflect的主要服务外,它还可以提供以下高级功能:在无人值守的情况下继续照常运作。提供服务。将测试计划与故障通知相结合,以减少中断期间的网站响应时间。如果需要更改测试,只需编辑并重新录制单个单击或部分,而不是重新进入整个过程。在对网站界面进行更改时,使用自动视觉检查工具来检测与预期输入值相差甚远的错误元素。6.正则表达式正则表达式(Regularexpressions,regex)是一组用来描述搜索模式行为的字符。它们通常用于字符串搜索算法中以查找和匹配模式。前面提到的Bash有一个独特的正则表达式运算符=~,可用于在给定的正则表达式模式中搜索匹配项。例如:如果[[$digit=~[0-9]]];then语句,就是在字符串中搜索任意数字实例。当然,除了Bash,Python和Java也可以支持正则表达式类型的参数。由于它们仅使用几个字符即可实现非常复杂的参数搜索,因此它们可用于数据验证以及其他类型的文本处理任务。同时,由于是计算机领域的通用语言,正则表达式得到了全世界开发者的认可。通过学习Bash、Java或Python的相关特性,您可以使正则表达式更进一步。专家建议:使用正则表达式爬取网页由于正则表达式可以从大量待搜索的字符串中提取匹配参数的字段,因此正则表达式最常见的一种使用场景是:从大量网站中提取特定信息,也就是网页抓取。例如,您可以通过$:\s+([^\s]+)从竞争对手的网站搜索给定产品的价格。一旦表达式搜索到$后面的相关内容,它就会将其提取到一个单独的文件中。7.RegExr俗话说,“知易行难”。正则表达式虽然简单易用,但要用好却比较复杂。例如,以下正则表达式旨在匹配某种类型的URL。你是否被它的复杂性所淹没?^(http|https|ftp):[\/]{2}([a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,4})(:[0-9]+)?\/?([a-zA-Z0-9\-\._\?\,\'\/\\\+&%\$#\=~]*)让它更容易要理解那些复杂的正则表达式,一个免费工具-RegExr可以可视化和测试给定的正则表达式。由于正则表达式趋于标准化,RegExr可以解析出表达式的关键部分,并将其转换为解释性语句形式。此外,当您将鼠标悬停在描述上时,该工具会准确突出显示它在表达式中对应的位置。下图是上述复杂示例的详细功能说明,相应的不同部分以颜色编码的形式突出显示。在节省开发者破译冗长正则表达式的宝贵时间的同时,RegExr还消除了用户对公式库的死记硬背。在其界面的一侧,您可以找到完整的公式库及其相应的使用说明。只需单击它们,即可将公式插入到表达式中。此外,RegExr还可以将各种文本填充到待测试的表达式中,以提高测试的覆盖率。专家建议:避免冗长的正则表达式虽然RegExr可以帮助我们解析较长的正则表达式,但这样的长表达式毕竟晦涩难懂。此外,用一个表达式来满足所有搜索参数通常是一个耗时且容易出错的过程。因此,在实际项目中,您的团队应该优先考虑易于理解的较短的表达式表示形式。例如,我们可以尝试构建多个较小的表达式,每个表达式只搜索一个或两个字符串。这样不仅解决了上述问题,也方便了后续项目中部分或全部表达式的复用。总结综上所述,我们介绍了7款可以帮助开发团队提高效率的代码相关工具和软件。最常用的是Vim、Reflect和RegExr。虽然这些工具的学习曲线各不相同,但掌握它们并灵活使用它们可以为您节省数小时的开发时间和数千次鼠标击键。去试试吧。原标题:7种编码工具,让你的效率最大化,作者:RyanThelin
