脚本应使用项目的主要语言编写

在这里插入图片描述

原文:João Freitas - 2024.03.24

这是我长时间以来的一个深感赞同的观点。

我参与过的几乎所有项目,都有我们编写的用于自动化重复性过程的脚本。然而,大多数脚本在几周后变得过时且难以维护,因为我们要么不再需要它们,要么它们变得过于复杂以至于难以理解。后来,这些脚本要么被重构,要么永远留在脚本墓地

在这里插入图片描述

(永远别忘记向我们遗弃的、失效的脚本表示敬意 🫡)

我认为导致这种结果的主要原因之一是,用 BashPython 编写了这些脚本。别误解我的意思,我非常喜欢这两种语言,但感觉如果团队用他们项目的主要开发语言编写脚本,他们可以获得更多的胜利。从一开始,编写脚本所需的时间努力就减少了,因为:

  • 学习曲线极小,因为你已经了解这种语言的各个方面。
  • 可以利用内部语言 API,这极大地改变了编写脚本的思维模型(变得更好)。
  • 脚本感觉更自然,最终可维护性增加。团队成员对这种语言感到熟悉
  • 开发机器的兼容性增加。Windows 用户终于可以运行所有脚本了。🤭

走这条路的缺点是主要语言的运行时支持。并非每种语言都是多范式的,或者设计上就支持脚本。例如,编写 JVM 语言的脚本需要额外的努力来构建一个工具链,该工具链能够即时编译并运行文件,启动时间短。但是,如果你在一个 Web 前端项目(JavaScript)上工作,那么你就有更大的可能性和能力来使用它来编写脚本。

归根结底,团队需要进行讨论并达成一致,确定哪种语言最适合他们的需求,并标准化他们的脚本语言。如果他们可以使用项目主要语言,那就太好了。如果他们不能,那么应该采用具有原生支持的高级脚本语言(例如,Python),因为从长远来看,它提供了提高可维护性的方法。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Towhee 小记

文章目录 关于 Towhee✨ 项目特点🎓 快速入门流水线预定义流水线自定义流水线 🚀 核心概念 关于 Towhee Towhee 是一个开源的 embedding 框架,包含丰富的数据处理算法与神经网络模型。通过 Towhee,能够轻松地处理非结构化数据&am…

31---JTAG电路设计

视频链接 JTAG电路设计(JLINK&XILINX&ALTERA)_哔哩哔哩_bilibili JTAG电路设计 1、JTAG简介 JTAG(Joint Test Action Group):联合测试工作组,是在名为标准测试访问端口和边界扫描结构的IEEE的标…

Python学习之-正则表达式

目录 前言:1.re.serach1.1例子: 2.re.match2.1示例1:2.2 示例2: 3.re.findall3.1 示例 4.re.fullmatch4.1 示例1:4.2 示例2: 5.re.split5.1 示例1:5.2 示例2:5.3 示例3: 6.re.sub6.1 示例&#…

2024年阿里云服务器价格30元、61元、99元、165元、199元报价

2024年阿里云服务器优惠价格表,一张表整理阿里云服务器最新报价,阿里云服务器网aliyunfuwuqi.com整理云服务器ECS和轻量应用服务器详细CPU内存、公网带宽和系统盘详细配置报价单,大家也可以直接移步到阿里云CLUB中心查看 aliyun.club 当前最新…

【详细讲解React 快速入门教程】

🔥博主:程序员不想YY啊🔥 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家💫 🤗点赞🎈收藏⭐再看💫养成习惯 🌈希望本文对您有所裨益,如有…

虚机无法进入系统一直轮转在内核启动页面处理

【问题现象】 在日常处理虚机过程中会出现,虚机无法进入系统,一直轮转在内核启动页面的情况 【处理办法】 【步骤一】登录原先内核系统,设置默认新内核启动 【步骤二】进入系统后设置 # grubby --set-default /boot/vmlinuz-3.10.0-957.ax…

Healix Protocol 的 HLX 通证预售:医疗领域的未来展望

Healix Protocol推出 HLX 通证预售,将带来医疗领域的重要变革。通过其区块链技术,Healix Protocol致力于重新定义医疗服务的可及性与负担性,成为医疗行业的希望之光。该项目旨在增强透明度、可及性和效率,推动医疗体系向更加公平和…

[计算机效率] 文件预览工具:QuickLook

3.9 文件预览工具:QuickLook Quicklook是一款强大的文件预览工具,可以帮助用户快速浏览文件夹中的文件内容,而无需打开每个文件。 功能特点: 快速预览:Quicklook能够快速预览文件夹中的文件内容,包括文本…

把本地文件上传到HDFS上操作步骤

因为条件有限,我这里以虚拟机centos为例 实验条件:我在虚拟机上创建了三台节点,部署了hadoop,把笔记本上的数据上传到hdfs中 数据打包上传到虚拟机节点上 采用的是rz命令,可以帮我们上传数据 没有的话可以使用命令安装…

虹科Pico汽车示波器 | 免拆诊断案例 | 2018款东风风神AX7车发动机怠速抖动、加速无力

一、故障现象 一辆2018款东风风神AX7车,搭载10UF01发动机,累计行驶里程约为5.3万km。该车因发动机怠速抖动、加速无力及发动机故障灯异常点亮而进厂维修,维修人员用故障检测仪检测,提示气缸3失火;与其他气缸对调点火线…

Questasim 跑自动化脚本使用教程

自动化脚本使用 1.日常工程的自动化脚本程序,一共需要两个文件.do和.文件bat sim.do文件如下 #删除work工作目录 file delete -force work#设置uvm环境变量,指定uvm的dpi位置 set UVM_HOME C:/questasim64/verilog_src/uvm-1.1d set UVM_DPI_HOME …

Python实现一个简单的银行管理系统GUI应用

介绍 在本教程中,我们将创建一个基本的银行管理系统GUI应用,用户可以通过图形界面执行各种银行操作。我们将使用Python编程语言和Tkinter库来实现此应用。 使用说明 需要安装Python解释器,以及PythonCharm 👉 点我去下载 效果图…

ssm网上订餐管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目采用线性算法

一、源码特点 ssm 网上订餐管理系统是一套完善的信息系统,结合springMVC框架完成本系统,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式开发),系统具有完整的源代码和数据库,系统主要采用B/S模…

前端学习--品优购项目

文章目录 前端学习--品优购项目1.案例铺垫文件建立与命名必备文件网站favicon图标网站TDK三大标签SEO优化常用命名 2.LOGO SEO优化3.实际代码 前端学习–品优购项目 1.案例铺垫 文件建立与命名 一个项目中为了方便实用和查找内容会有多个文件夹,比如images文件夹中…

java数据结构与算法刷题-----LeetCode540. 有序数组中的单一元素

java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846 文章目录 1. 异或运算2. 全数组二分查找异或奇偶3. 偶数下标二分查找 1. 异…

算法之美:二叉树演进之多叉树及B-Tree树原理

在上篇文章我们了解了平衡二叉树的优势,了解到平衡二叉树能够对不平衡的节点施加旋转,使得树达趋于平衡,以提升查询效率,操作效率很高,与之同时也存在着不少的问题,例如我们在实际使用中会通常会将树加载到…

RiPro主题-子主题huzao-child美化包v4.0带更新,附下载插件

压缩包里包含子主题下载插件演示数据 V4.0更新内容如下 1、左下角会员推广广告悬浮集成到后台 2、底部悬浮登录增加是否登录判断 3、在线申请友链页面美化 4、手机端底部版权信息被遮挡优化 5、部分bug修复及细节优化 源码下载 RiPro主题-子主题huzao-child美化包v4.0带…

Matlab|基于隐式Zbus高斯法的三相不平衡潮流计算【可设定变压器数量和位置】【Yy、Yd两种绕组方式】

目录 主要内容 部分代码 结果一览 主要内容 该模型基于隐式高斯法实现对配电网的三相不平衡潮流计算,通过选项可实现【不含变压器】和【含变压器】两种方式下的潮流计算,并且通过参数设置可实现多个变压器接入,该程序可计算【IE…

SSH连接SFTP传输:如何使用libssh库在Linux环境下进行(文件、文件夹)传输到远端服务器

建立SSH会话并连接远端服务器SSH身份验证密码验证密钥验证生成密钥查看密钥拷贝密钥验证密钥是否正确 SFTP子系统构建传输普通文件递归传输文件夹完整传输小demo 建立SSH会话并连接远端服务器 target_host:远端主机IPtarget_username:远端主机用户名 s…

Echarts之x轴,Y轴配置项大全

ECharts是一个强大的数据可视化库,提供了丰富的配置项来定制图表的x轴和y轴。下面是ECharts中x轴和y轴的配置项大全: xAxis配置项: type:轴类型,可选值有:“value”(数值轴), “cat…