软件工程新手必知的常用缩略语——第一部分
由 Mux 赞助的 DEV 全球展示挑战赛:展示你的项目!
自从我开始编程以来,直到今天,每当我阅读文档时,都会遇到许多软件工程中常见的缩写或术语。虽然不必记住它们的完整形式,但了解它们的含义和作用非常重要。因此,我整理了一份常用缩写列表,希望能对像我一样的人有所帮助。
-
FTP(文件传输协议)
是一种用于在网络上的客户端和服务器之间传输文件的网络协议。FTP 基于客户端-服务器模型,使用控制通道和数据通道两种不同的连接在客户端和服务器之间进行通信。控制通道仅用于控制通信,而数据通道则负责实际的文件传输。使用 FTP,客户端可以上传、删除、更新、下载、重命名、移动或复制服务器上的文件。FTP 有两种不同的工作模式:主动模式和被动模式,这两种模式决定了连接的建立方式。在主动模式下,客户端与服务器建立控制通道,而数据通道由服务器建立。而在被动模式下,控制通道和数据通道均由客户端建立。因此,当客户端受到防火墙保护,服务器无法与客户端建立连接时,被动模式非常有用。 -
TCP/IP——传输控制协议/互联网协议。
顾名思义,TCP/IP 由 TCP 和 IP 两部分组成。IP 是互联网的地址系统,其唯一职责是将信息包从源地址传递到目的地。它无法处理数据包的错误检查或排序,这时 TCP 就派上了用场。这就像邮寄拼图碎片一样,不同的碎片可能经过不同的路径,到达时顺序也可能错乱。IP 确保所有碎片都能到达目的地。TCP 负责将这些碎片组装起来,并在出现任何碎片缺失时发出警报。从发送第一个碎片到发送最后一个碎片,TCP 始终与发送方保持连接。 -
所见即所得 (WYSIWYG)——
WYSIWYG 是一种编辑器、程序或网站,它允许用户在编辑代码或文档的同时预览最终结果。一个简单且最常用的 WYSIWYG 编辑器示例是 Microsoft Word。另一个 WYSIWYG HTML 编辑器示例是 Adobe Dreamweaver。 -
REPL(读取-求值-打印循环)
是一个简单易用的交互式计算机编程环境,它接收用户输入,对其进行求值,然后将结果打印/返回给用户。循环的每次迭代包含三个步骤:
读取:读取用户输入,解析并将其存储到内存中的数据结构中。
求值:对步骤 1 中创建的数据结构进行求值。
打印:打印步骤 2 中得到的表达式求值结果,并将其返回给用户查看。
所有软件开发人员每天都会用到的一个最常见的例子是 CLI,也称为命令行界面或 Windows 生态系统中的 PowerShell。许多语言都支持 REPL,例如 Python、Node.js 和 JavaScript 等。
-
API——应用程序编程接口。
应用程序编程接口是一组定义明确的程序,用于促进两个系统、组件等之间的通信。它规定了组件应该如何交互。API 就像餐厅的菜单,上面列出了菜品及其描述。您点餐后无需关心餐厅厨房是如何烹制的,只需专注于美味佳肴即可。如今,大多数现代 Web 或移动应用程序的开发者都会使用多个第三方 API。一些常见的例子包括 Google Maps API、YouTube API 和用于用户登录的 Facebook API。 -
ORM(对象关系映射)
是一种使用面向对象编程语言在不兼容的系统之间转换数据的技术。ORM 工具提供了一个框架,用于将面向对象的领域模型映射到关系数据库。它们提供了一种处理对象关系阻抗不匹配问题的方法。ORM 可以减少代码行数,并提供缓存优势,从而降低内存负载。常见的 ORM 工具和框架包括 Hibernate、Entity Framework 和 SQLAlchemy 等。
-
LOB、CLOB 和 BLOB——大型对象、字符大型对象、二进制大型对象
。大型对象是一种用于存储大型对象的数据类型。字符大型对象是数据库管理系统 (DBMS) 中的字符数据集合。CLOB 用于存储基于 Unicode 字符的数据,例如任何字符集中的大型文档。二进制大型对象是存储为单个实体的二进制数据集合。BLOB 通常存储图像、音频或其他多媒体对象。 -
ER图——实体关系图。
在理解实体关系之前,首先需要理解实体。实体是可定义的事物,例如人、物体、概念或事件——它可以存储一些关于自身的数据。它们是名词,例如顾客、汽车、学生等等。实体关系图展示了系统中各个实体之间的关系。ER图通常用于数据库设计。 -
KISS 原则——保持简单,傻瓜式编程 。KISS 原则的核心在于保持代码的简洁、清晰和易读。编写的代码应该易于理解,并且能够被其他人解读。一个简单的例子是,编写简洁的方法,代码量最好控制在 40 到 50 行以内。每个方法应该只负责一个功能,不应该同时处理多个用例。遵循 KISS 原则编写代码的一个好处是,它可以帮助其他开发者更快地理解你的代码,并节省他们理解代码和进行修改的时间。
-
SDK——软件开发工具包。
软件开发工具包是一个可下载的软件包,其中包含在特定平台上构建应用所需的工具。它针对特定平台进行了深度定制,包含库、API、集成开发环境 (IDE) 以及其他辅助工具,用于调试、构建、运行和测试应用程序。在现实世界中,假设你需要小麦面包,你不可能亲自去农场种植、培育、收割小麦并制作面包。这太耗时费力了。因此,在软件工程领域,SDK 就派上了用场。面包 SDK 中的库包含预先编写的函数,例如 plantWheat()、growWheat()、harvestWheat() 和 makeBread(),开发人员可以调用这些函数来简化流程。
