是时候系统性的的学习那些开发中必备的软件了!

大家好,我是 王有志,一个分享硬核 Java 技术的金融摸鱼侠,欢迎大家加入 Java 人自己的交流群“共同富裕的 Java 人”。

最近小组内心来了两个实习生,各方面都很不错,基础知识扎实,勤奋好学(卷?),人也很谦虚,但同样的他们也存在一些问题,最明显的就是工程能力较差,一方面是在校期间做的项目规模较小,遇到动辄数十万行的项目时有些懵逼,另一方面,他们对开发中常用的软件使用不够熟练。

第一个问题,只能靠工作中不断的积累,或者是通过团队内部的系统培训上手了;至于第二个问题,我们可以通过主动学习的方式来解决,快速掌握这些软件的使用方式。

因此,我们今天的主题是:开发中必备软件的使用。公众号 内回复关键字:20240626,即可获取。

注意:

  • 大部分时候,你可以把文中推荐的书籍当做时软件使用的参考说明,而不必深入研究;
  • 相关方面的书籍并不多,因此选择的余地也比较小。

必备软件

在这里插入图片描述

首先是集成开发环境(IDE),版本控制软件和项目管理软件。

这 3 者上的选择上基本已成定式,集成开发环境选择 IntelliJ IDEA,版本控制软件选择 Git,项目管理软件使用 Maven(据说 Android 那边的选择是 Gradle),因此我推荐 4 本书来学习这些软件的使用方式:

  • IntelliJ IDEA 入门与实战
  • Pro Git(中文版),官方出品,不二之选
  • Maven 实战
  • Gradle 实战

当然还会有一些其它的选择,例如集成开发环境还有免费的 Eclipse 和 MyEclipse,版本控制还有 SVN,VSS 和 CVS 等等,只不过目前这些已经不是主流的选择了。

代码质量

在这里插入图片描述

在企业内部的开发中,通常会有 3 个环节来把控代码的质量:程序员自主完成的单元测试,项目组内部的代码评审,以及在 CI/CI 中集成的代码检测。

常用的单元测试软件为 JUnit,这也是 Spring Boot 中默认的单元测试软件,常用的代码检测工具为 SonarQube,因此这里推荐的两本书为:

  • JUnit 实战
  • SonarQube in Action(英文版)

与前面不同的是,JUnit 和 SonarQube 并没有占据绝对的领先地位,各类单元测试软件和代码检测软件层出不穷,如:TestNG,Mockito 等。只是这两者相对来说较为流行。

《JUnit 实战》和《SonarQube in Action》都是著名的“in Action”系列,只不过《JUnit 实战》有中译本,而《SonarQube in Action》目前还没有中译本。

其它

在这里插入图片描述

最后推荐一个文本处理软件以及一些关于 GIt 其它方面的书籍:

  • Visual Studio Code 权威指南
  • Git 团队协作
  • GitHub 入门与实践

与其说 Visual Studio Code 是文本处理软件,倒不如说它是开发工具(毕竟是 2019 年 Stack Overflow 最受欢迎开发工具的榜首),Visual Studio Code 的功能非常强大,通过不同的插件组合,可以将 Visual Studio Code 打造成各类语言的开发工具,早期我就是使用 Visual Studio Code 来写 Python 的,只不过现在换成了 PyCharm。


在这里插入图片描述

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

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

相关文章

最大化互信息Maximizing Mutual Information

最大化互信息(Maximizing Mutual Information, MMI)是一种用于提高机器学习模型性能的方法,尤其在自然语言处理、计算机视觉和推荐系统等领域。互信息是衡量两个随机变量之间相互依赖程度的指标。MMI方法的目标是通过最大化输入和输出之间的互…

记一次 APK 逆向动静调试 + so 动态链接库分析

0x00 前言: 好久没有做过安卓逆向了,最近重新系统地学习了安卓逆向技术。找到了一道较为典型的逆向分析题来练手,以锻炼动静态分析和动态链接库分析的基本能力。在这里记录基本的分析流程手法。 0x01 逆向分析: 一、使用 Genym…

深入解析京东_item_get接口:技术细节与应用场景

在电商领域,实时、准确的数据对于商家、开发者和消费者都至关重要。京东作为中国领先的电商平台,提供了丰富的API接口供开发者使用,其中JD.item_get接口尤为引人注目。本文将对JD.item_get接口进行深入的技术解析,并探讨其应用场景…

在 PHP 中,如何优化大型项目的性能,特别是在处理高并发请求时?

要优化大型项目的性能,特别是在处理高并发请求时,可以考虑以下几个方面: 使用缓存:通过使用缓存来减轻数据库和计算的压力。可以使用各种缓存技术,如 Memcached 或 Redis,将频繁使用的数据存储在缓存中&…

歌尔气压计SPA06-003在无人机的创新应用

随着科技的不断进步,各类智能设备的功能日益强大,其中气压计作为一种能够测量大气压力的传感器,已被广泛应用于多种领域。歌尔气压计以其高精度、低功耗的特点,在无人机和智能手表上的应用尤为突出,为这两个领域的产品…

Python的ctypes库的使用

ctypes 基本数据类型映射表 ctypes 是 Python 的外部函数库。提供了与 C 兼容的数据类型,并允许调用 DLL 或共享库中的函数。可使用该模块以纯 Python 形式对这些库进行封装。下面主要介绍如何使用 ctypes 模块对 C 语言编译的动态链接库要求的数据类型进行封装&am…

IPython最简洁方便的Python语法测试工具

前言和需求 相信不少人使用JS时,最常用的快捷键是F12。网页调试,不仅可以调试我们的前端页面,对于多数后端JS程序员来讲,我们有个啥语法不确定了,直接开个网页F12确认一下就行了。甚至写了个方法,不确定对…

springboot + Vue前后端项目(第十九记)

项目实战第十九记 写在前面1. redis安装(windows安装)1.1 获取软件链接地址:1.2 启动redis1.3 测试是否启动成功1.4 通过 Another Redis DeskTop软件可视化查看redis 2. SpringBoot集成redis2.1 引入依赖2.2 注入RedisTemplate2.3 使用redis2.4 redis更新2.5 redis使…

【自然语言处理系列】掌握jieba分词器:从基础到实战,深入文本分析与词云图展示

本文旨在全面介绍jieba分词器的功能与应用,从分词器的基本情况入手,逐步解析全模式与精确模式的不同应用场景。文章进一步指导读者如何通过添加自定义词典优化分词效果,以及如何利用jieba分词器进行关键词抽取和词性标注,为后续的…

美创携手浙江长征职业技术学院,共建智云数据安全大师工作室

6月24日,“美创科技浙江长征职业技术学院智云数据安全大师工作室揭牌暨中国特色学徒制第四期云数据安全和智能运维人才选拔培养启动仪式”在长征职业技术学院隆重举行。 浙江长征职业技术学院计算机与信息技术学院院长梅灿华、计算机与信息技术学院学工办副主任华春…

秋招Java后端开发冲刺——基础篇3

一、Java泛型 Java 1.5中引入的一个新特性,其本质是参数化类型,可以增强代码的可读性以及稳定性。分类 泛型类:在类定义时类名后加,其中T表示泛型泛型接口:与泛型类相似泛型方法:静态泛型方法是没有办法使…

使用 frida hook Android app

Frida: 一种基于动态插装(dynamic instrumentation)技术的工具包,它主要是为测试人员、开发人员和逆向工程爱好者创建,在目标程序运行时,允许用户将 JavaScript代码注入其中,实现动态修改和调试…

ONLYOFFICE8.1版本桌面编辑器的测评

首先我们先出示一下我们所测评官网的链接: ONLYOFFICE官网链接:ONLYOFFICE - 企业在线办公应用软件 | ONLYOFFICE 我们这款ONLYOFFICE8.1版本有这一下优点 1.解决PDF痛点 ONLYOFFICE在PDF编辑方面支持高亮显示、下划线和删除线、添加批注等功能&#…

【2024最新版】Eclipse安装配置全攻略:图文详解

目录 1. Eclipse介绍1.1 背景1.2 主要特点和功能1.3 版本发布1.4 优势与劣势 2. 下载Eclipse3. 安装Eclipse4. 启动Eclipse 1. Eclipse介绍 Eclipse是一个开源的、基于Java的可扩展开发平台,主要用于Java开发者,但也支持其他语言如C/C、PHP、Python等。…

【PWN · TcachebinAttack | UAF】[2024CISCN · 华中赛区] note

一道简单的tcache劫持 一、题目 二、思路 存在UAF,libc版本2.31,经典菜单题 1.通过unsorted-bin-attack来leak-libc 2.通过uaf打tcache-bin-attack劫持__free_hook实现getshell 三、EXP from pwn import * context(archamd64,log_leveldebug)ioproce…

ansible自动化运维,(2)ansible-playbook

三种常见的数据格式: XML:可扩展标记语言,用于数据交换和配置 JSON:对象标记法,主要用来数据交换或配置,不支持注释 YAML:不是一种标记语言,主要用来配置,大小写敏感&…

Unity太空避障Demo总结

太空避障:主要是实现飞机躲避子弹 面板基类、音乐类、排行榜类、json等等都和上一篇Unity坦克迷宫Demo总结一样,太空避障主要是对四元数的练习和使用 1.选择飞机面板 (1)通过左右按钮对显示的模型进行切换 (2&#xff…

科技未来·无限可能“2024世亚智博会”

随着科技的飞速发展,人类社会正以前所未有的速度迈向一个全新的时代。科学技术作为第一生产力,不仅极大地推动了经济和社会的发展,更在不断地改变着我们的生活方式和思维方式。特别是在人工智能、物联网等前沿科技领域,其创新和应…

【ZYNQ】VDMA 的介绍

AXI VDMA 是 Xilinx 官方提供的高带宽视频 DMA IP,用于实现 AXI4-Stream 视频数据流与 AXI4 接口数据的转换,同时提供帧缓存与帧同步控制功能。本文主要介绍 AXI VDMA 的基本结构与原理,并简要介绍 VDMA 的配置与使用方法。 目录 1 VDMA 简介…

egg代码生成器

今天给大家分享一下egg的代码生成器,这个其实原理很简单,说白了就是用到了nodejs的一个文件io的操作,通过一系列配置参数解析然后生成一个很长的字符串,写入到文件中,最后导出到我们指定的文件夹。 前提概要 为什么我…