推荐程序员提高生产力的工具

工具可以帮助我们解决问题、减轻负担,好用的办公神器可以提高我们的工作效率,让我们事半功倍。

这里的经验基本上冲着一个原则来的:凡是需要重复做的,必须使用自动化工具完成

1. 版本控制

一般自己的项目使用git,公司开发规定用svn。反正不管怎么样,版本控制少不了。有个说法,没有版本控制的项目,就等于没有。

版本控制的好处太多了,用过的人都知道。等于历史版本 + 代码备份了。这个提到的很多,就不多说了。

2. 单元测试工具

写程序需要验证,如果快速知道新的代码和过去的写的代码不冲突,这个时候单元测试就能起到作用了。

当然单元测试的功能不仅仅是这个:

  • 验证代码正确性和可靠性
  • 验证新代码不和原有代码冲突
  • 验证自己代码不合团队其他人员代码有冲突
  • 验证合并是否有冲突
  • 验证快速
  • 可以作为API使用实例
  • 跨平台和跨环境测试

这个是现代开发流程的基本模块之一,没有单元测试的项目,不是一个合格完整的项目。

有了单元测试,就再也不用担心在大项目中,自己做的小修改有会有什么大影响了。开发压力大大减少。

PHP的我用的是PHPunit,JavaScript用过的就多了,Jasmine、Qunit、Mocha等工具(不管哪一个,至少要用到一个)C#一般用nUnit。还有各种mock,faker辅助。

3. 开发工具

JNPF隶属于低代码开发工具,很多人都用过它,是功能的集大成者,任何信息化系统都可以基于它开发出来。原理是将开发过程中某些重复出现的场景、流程,具象化成一个个组件、api、数据库接口,避免了重复造轮子。因而极大的提高了生产效率。应用地址:JNPF快速开发平台

传统模式下需要2 周完成开发的应用,用JNPF只要 2小时。原因在于:

  • 前后端封装了上千个常用类,方便扩展;
  • 集成了代码生成器,前后端业务代码生成,满足快速开发;
  • 框架集成了表单、报表、图表、大屏等各种常用的Demo方便直接使用;
  • 后端框架支持Vue2、Vue3。

包含的技术有:表单引擎、流程引擎、组件丰富性、数据管理、扩展功能、微前端、规则引擎、版本管理和 CI/CD 等,程序员完全可以以低代码为切入点扩充自己的专业能力。

4. 功能测试工具

就是交互界面测试,也可以是界面样式测试。代码写的方式大致过程和单元测试差不多,不过单元测试每个单元都是独立的,理论上不应该有任何依赖关系(只要有依赖关系就叫做集成测试);而功能测试,就是最后成品的测试,必须把所有依赖打开,并且在界面上进行测试。

界面功能测试的优点:

  • 速度比人工快
  • 模拟真人操作
  • 可以录像后导出测试代码
  • 可以抓图

缺点:

  • 依赖多,依赖的环境变化可导致代码失效
  • 速度相对单元测试慢很多
  • 测试成功率可能不是100%

功能测试,也是自动测试的一种,至少解放了大量重复性劳动,大大提升界面功能开发的速度。

功能测试工具主要有phantomjs和Selenium。我两个都用,根据不同情况使用不同策略。


文章到此算完结了。其实开发中,还有很多优秀的工具,但无法和这些主要的开发工具相比,就不在这里说了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/88401.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NFTScan | 08.21~08.27 NFT 市场热点汇总

欢迎来到由 NFT 基础设施 NFTScan 出品的 NFT 生态热点事件每周汇总。周期:2023.08.21~ 2023.08.27 NFT Hot News 01/ NFT 品牌体验平台 Recur 将于 11 月 16 日彻底关闭,此前曾获 5000 万美元融资 8 月 21 日,NFT 品牌体验平台 Recur 在 X…

Linux————LNMT搭建

一、原理 搭建一个基于Linux系统的Web服务器,使用Nginx作为反向代理服务器,Tomcat作为应用服务器,MySQL作为数据库服务器。 Linux操作系统 基于Linux的操作系统 Nginx Nginx是一款高性能的Web服务器和反向代理服务器&#xff0…

MySQL数据库学习【基础篇】

📃基础篇 下方链接使用科学上网速度可能会更加快一点哦! 请点击查看数据库MySQL笔记大全 通用语法及分类 DDL: 数据定义语言,用来定义数据库对象(数据库、表、字段)DML: 数据操作语言,用来对数据库表中的…

CSS实现白天/夜晚模式切换

目录 功能介绍 示例 原理 代码 优化 总结 功能介绍 在网页设计和用户体验中,模式切换功能是一种常见的需求。模式切换可以为用户提供不同的界面外观和布局方案,以适应其个人偏好或特定环境。在这篇博客中,我们将探索如何使用纯CSS实现一…

Ant Design组件动态嵌套表单制作

使用Ant Design组件我们需要使用Form.List对表单进行操作 1.首先将Form.List放入form组件中,并name命名, 2.设置一个命名为数组,添加编辑和删除事件 3.以刚刚设置的数组设置map循环,可以在循环的的括号可以设置对嵌套表单控制 4.…

Spring security报栈溢出几种可能的情况

今天在运行spring security的时候,发现出现了栈溢出的情况,总结可能性如下: 1.UserDetailsService的实现类没有加上Service注入到容器中,导致容器循环寻找UserDetailsService的实现类,最终发生栈溢出的现象。 解决方法…

Linux内核学习(七)—— 定时器和时间管理(基于Linux 2.6内核)

目录 一、内核中的时间概念 二、节拍率:HZ 实时时钟 系统定时器 三、定时器 系统定时器是一种可编程硬件芯片,能以固定频率产生定时器中断,它所对应的中断处理程序负责更新系统时间,也负责执行需要周期性运行的任务。 一、内…

【VRRP】虚拟路由冗余协议

什么是VRRP? 虚拟路由冗余协议VRRP(Virtual Router Redundancy Protocol)是一种用于提高网络可靠性的容错协议。通过VRRP,可以在主机的下一跳设备出现故障时,及时将业务切换到备份设备,从而保障网络通信的…

【vue+uniapp】切换本页面(点击导航按钮)就刷新接口

查阅资料:uni-app官网 点击导航中图标,就执行的方法(和methods同级): onTabItemTap(e) {this.getTaskTotal(); },

几个Web自动化测试框架的比较:Cypress、Selenium和Playwright

介绍:Web自动化测试框架对于确保Web应用程序的质量和可靠性至关重要。它们帮助开发人员和测试人员自动执行重复性任务,跨多个浏览器和平台执行测试,并在开发早期发现问题。 本文探讨来3种流行的Web自动化测试框架——Cypress、Selenium和Pla…

SpringBoot Cache

一、基本概念 Spring Cache 是一个框架,实现了基于注解的缓存功能,只需要简单地加一个注解,就能实现缓存功能。 Spring Cache 提供了一层抽象,底层可以切换不同的缓存实现,例如: • EHCache • Caffeine …

电子仓库预测水浸事件,他怎么做到的?

仓库环境中水浸事件可能导致严重的损失,不仅对货物造成损害,还可能影响设备的正常运行甚至威胁安全。 因此,为了应对这一挑战,引入一套完善的仓库水浸监控系统成为了不可或缺的措施。 客户案例 广东某电子公司是一家领先的电子设…