6款程序员实用工具,老少皆宜,你一定用得上!

简介: 6款程序员实用工具,老少皆宜,你一定用得上!

从事开发行业已有4年之久,在此期间积累了不少好用的开发工具,希望帮助各位在工作上化繁为简,提升个人生产力。


这里的分享本着1个原则去做:凡是需要重复做的,必须使用自动化工具来完成。


01、单元测试工具——PHPUnit



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

e3f30dd6e73ddbd83afa378d85a55ada.jpg当然单元测试的作用不仅仅是这个,还具有

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


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


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


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


02、功能测试工具——PhantomJS



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

a12f616f492da692b458cd947d69eed0.png


界面功能测试的优点:

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


缺点:

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


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


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


03、低代码工具——JNPF(PC端更好用)



在开发内部工具的过程中,大量的页面、场景、组件等在不断重复,低代码针对这类问题,把某些重复出现的场景、流程,具象化成一个个组件、api、数据库接口,避免了重复造轮子。极大提高了生产效率。

2547b8dbf3f8b9c08c9f90dd954e6253.png


(1)项目管理


低代码素有应用软件里的“乐高”之称,只要像搭积木一样,就能快速搭建出各种场景的应用。小到表单收集,大到项目管理、客户管理、工单管理甚至全流程管理,能实现。


结合系统中的看板视图,我们可以详细看到团队中每个成员的项目进度与团队的整体进度,方便随时了解项目进展。


2)流程协同


所有涉及到企业流程管理的问题,都可以用低代码解决,搭配其信息收集和数据分析能力,基本上能解决企业所有的流程管理问题


比如采购流程、用车申请流程、报销流程、请假流程,甚至周报日报流程,都可以用来自动化,流程搭建也很简单,只要你能梳理清楚业务逻辑,就能搭建

86fe2bc81a3328be87be65ea08b2bed7.png

在线工具,无需下载APP,能集成企微、钉钉、微信等常用的通讯工具,简易方便。


04、Live Reload



Live Reload一般是和流程管理一起使用的,(也有独立使用的版本)。独立出来说也是为了体现程序员一个终极特质:懒。凡是重复的,必须使用工具完成。Live Reload就是这个体现:按F5是个重复的低效率行为,必须交给工具完成

58ccc96ba83decaa7ddcc1d7f13a449d.jpg


Live Reload的功能说起来很简单:

  • 检查文件是否变动
  • 如果变动刷新页面


给开发人员带来的直接好处就是查看页面变动,只要按ctrl+s保持代码就行了,连f5都不用按了。就这好处,足以把Live Reload这个工具当作神器了。配合流程管理工具,只要保存代码(ctrl+s),就马上进行构建,构建完成自动刷新页面。


我用的Live Reload是grunt-contrib-watch。


05、代码质量分析工具——JSHint


bd9b18d012d95a100c28a95f86010f1e.jpg


人工检查代码的效率是比较低下的,所以质量分析这一块可以作为开发辅助工具,来提高开发质量常见的代码质量工具有:


  • 语法检查,保证代码语法正确,可以跨平台,使用最佳实践
  • 代码风格检查,保证团队代码风格一致
  • 代码压缩,减少尺寸
  • 重复代码检查
  • 无用代码检查
  • 模块复杂度分析
  • 模块连接分析
  • 等等


JavaScript和PHP的用的比较多,Jshint,Jscs,uglifyjs,phpcpd,phpcs,phpdcd,PHPLOC等等工具,可以帮助开发人员提高代码质量,控制团队代码风格。


6持续集成——Jenkins



有人和我说过,持续集成可以让你开发水平提高达到到另外一个层级。当我实践后,终于明白持续集成的魅力所在了。

7a849cb47c7c1ec33d5eed2baa0ba6f9.jpg

要会持续集成,你首先必须学会以上6条(live reload除外),以上6条基本就是持续集成的几个基础模块,学会后,你自然而然就已经会了持续集成了。


持续集成的主要流程如下

  • 检查版本控制库是否更新
  • 如果更新,就下载最新版本的代码
  • 构建
  • 测试
  • 报告


当你设置好一个持续集成的项目后,以上的步骤应该就是全自动的了。还是那句老话: 凡是重复的步骤,应该用工具来完成。而持续集成就是这个终极工具。


持续集成其实就是流程管理的一个升级版本,或者说一个扩充。它们都是自动流程工具。它们的差别是:

  • 流程管理主要在本机(开发人员自己的开发环境)上执行,而持续集成则是在一个独立设置的环境下执行。
  • 流程管理继续的是本机代码,而持续集成构建的是版本控制中保存的代码
  • 团队中任何一个人push代码到版本控制中,持续集成就开始构建验证新代码的可靠性。
  • 项目流程配置完成后,流程管理需要执行命令行,持续集成应该全自动
  • 流程管理是持续集成的一个模块,属于持续集成的构建模块
  • 持续集成会有更多后续的专业功能,比如说产生报告,错误通知,构建历史,测试历史等开发新型


我们可以设想一下这样的一个情况,在有20-50个人的团队在开发一个PHP项目,每个人每天至少往版本控制中push大约10次新代码,而这个项目你又要保证在3个主流的浏览器中功能一致,样式相同,而这个项目又必须跨平台,可以在mac,window,linux上都可以运行,而且还要保证PHP5.4~5.6都可以运行。这个时候,持续集成系统的优势就会显示其真正的威力了。


结语:



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

相关文章
|
1月前
|
开发框架 Java 编译器
2025年1月推荐-工欲善其事,必先利其器-程序员必备之-核心基本工具—不要看什么国际排行榜-没有用-编辑器和编译器推荐-优雅草央千澈
2025年1月推荐-工欲善其事,必先利其器-程序员必备之-核心基本工具—不要看什么国际排行榜-没有用-编辑器和编译器推荐-优雅草央千澈
75 1
|
6月前
|
架构师 Linux Shell
Linux环境下要想事半功倍,少不了这4个技巧!
Linux环境下要想事半功倍,少不了这4个技巧!
|
7月前
|
缓存 开发者 UED
Python系统编程大师之路:掌握文件系统操作与I/O管理,让代码飞起来!
【7月更文挑战第31天】踏入Python编程,掌握文件系统操作与I/O管理是必经之路。Python的标准库提供了丰富的接口,如`open`, `os`, `shutil`等,使读写文件、遍历目录变得简单。深入理解I/O机制,利用缓冲区、文件描述符等概念,能提升程序性能。异步I/O支持(asyncio库)、合理缓存使用及性能分析工具(如cProfile)的应用,有助于优化代码。这条路需要不断学习和实践,以构建坚实的知识体系。
47 1
|
Oracle Java 关系型数据库
神级程序员都在用什么工具?
神级程序员都在用什么工具?
132 0
|
9月前
|
安全 大数据 Linux
分享5款不起眼但非常实用的小工具
时光荏苒,科技日新月异,一些看似不起眼的小工具却可能改变我们的工作方式。下面我们将介绍五款不可错过的小工具,它们能给你带来一些意想不到的效果,让你的工作更加高效便捷。
95 0
|
数据采集 存储 数据挖掘
编程小白的自学笔记十三(python办公自动化读写文件)
编程小白的自学笔记十三(python办公自动化读写文件)
|
数据可视化 NoSQL Oracle
分享几个压箱底儿的实用工具~
前言 X-shell FileZilla Navicat RedisDesktop Typora ProcessOn drawio ScreenToGif everything ApiPost
|
JSON API 数据格式
工具函数(不知道你们能不能用得上)
工具函数(不知道你们能不能用得上)
|
自然语言处理 Java 程序员
做程序员2年我发现的宝藏软件……
古语有云,欲先攻其事必先利器,这句话用在编程中也是同一个道理,好的工具会在学习和工作中帮助我们极大地提升效率。优秀的程序员之所以优秀的原因并不一定是他写代码的速度比所有人都快,但是他解决事情的效率一定是比很多人都要高的。居家办公的过程中,我整理了一下自己常用的软件,这里我们称之为**办公利器,** 下面请看我推荐,如果感觉有用的话,还请把赞点一点,有更好的也欢迎在评论区补充
145 0
做程序员2年我发现的宝藏软件……
|
IDE 网络协议 安全
程序员必定会爱上的10款软件
程序员必定会爱上的10款软件
230 0
程序员必定会爱上的10款软件