推荐程序员提高生产力的工具
工具可以帮助我们解决问题、减轻负担,好用的办公神器可以提高我们的工作效率,让我们事半功倍。
这里的经验基本上冲着一个原则来的:凡是需要重复做的,必须使用自动化工具完成。
1. 版本控制
一般自己的项目使用 git,公司开发规定用 svn。反正不管怎么样,版本控制少不了。有个说法,没有版本控制的项目,就等于没有。
版本控制的好处太多了,用过的人都知道。等于历史版本 + 代码备份了。这个提到的很多,就不多说了。
2. 单元测试工具
写程序需要验证,如果快速知道新的代码和过去的写的代码不冲突,这个时候单元测试就能起到作用了。
当然单元测试的功能不仅仅是这个:
验证代码正确性和可靠性
验证新代码不和原有代码冲突
验证自己代码不合团队其他人员代码有冲突
验证合并是否有冲突
验证快速
可以作为 API 使用实例
跨平台和跨环境测试
这个是现代开发流程的基本模块之一,没有单元测试的项目,不是一个合格完整的项目。
有了单元测试,就再也不用担心在大项目中,自己做的小修改有会有什么大影响了。开发压力大大减少。
PHP 的我用的是 PHPunit,JavaScript 用过的就多了,Jasmine、Qunit、Mocha 等工具(不管哪一个,至少要用到一个)C#一般用 nUnit。还有各种 mock,faker 辅助。
3. 开发工具
JNPF 隶属于低代码开发工具,很多人都用过它,是功能的集大成者,任何信息化系统都可以基于它开发出来。原理是将开发过程中某些重复出现的场景、流程,具象化成一个个组件、api、数据库接口,避免了重复造轮子。因而极大的提高了生产效率。
传统模式下需要 2 周完成开发的应用,用 JNPF 只要 2 小时。原因在于:
前后端封装了上千个常用类,方便扩展;
集成了代码生成器,前后端业务代码生成,满足快速开发;
框架集成了表单、报表、图表、大屏等各种常用的 Demo 方便直接使用;
后端框架支持 Vue2、Vue3。
包含的技术有:表单引擎、流程引擎、组件丰富性、数据管理、扩展功能、微前端、规则引擎、版本管理和 CI/CD 等,程序员完全可以以低代码为切入点扩充自己的专业能力。
4. 功能测试工具
就是交互界面测试,也可以是界面样式测试。代码写的方式大致过程和单元测试差不多,不过单元测试每个单元都是独立的,理论上不应该有任何依赖关系(只要有依赖关系就叫做集成测试);而功能测试,就是最后成品的测试,必须把所有依赖打开,并且在界面上进行测试。
界面功能测试的优点:
速度比人工快
模拟真人操作
可以录像后导出测试代码
可以抓图
缺点:
依赖多,依赖的环境变化可导致代码失效
速度相对单元测试慢很多
测试成功率可能不是 100%
功能测试,也是自动测试的一种,至少解放了大量重复性劳动,大大提升界面功能开发的速度。
功能测试工具主要有 phantomjs 和 Selenium。我两个都用,根据不同情况使用不同策略。
文章到此算完结了。其实开发中,还有很多优秀的工具,但无法和这些主要的开发工具相比,就不在这里说了。
版权声明: 本文为 InfoQ 作者【互联网工科生】的原创文章。
原文链接:【http://xie.infoq.cn/article/4e1db06832a44bb1967b79f4f】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论