在编程中,“ad hoc”是什么意思?

84
术语“ad hoc”在编程中被使用,它的确切含义是什么?
10个回答

99

"Ad hoc"是一种拉丁短语,它可以适用于任何事情,不仅仅是编程。

它表示针对特定情况即兴制作的东西,而不是一些系统化解决问题的方法。

关于编程方面,这可能类似于Joel Spolsky最近所说的duct tape编程


3
直译为“to this/for this/for that purpose”,或类似的意思。 - keyser
我总是认为它是“通用解决方案”的相反。 - Pithikos

42

这基本上意味着编写一些快速而肮脏的代码,没有重复使用的意图。 用户输入查询通常是主要示例。 另一个常见情况是实用程序将数据集从一种形式转换为另一种形式,在转换完成后将不再使用。


4
使用Ad-hoc确实是正确的。Ad-hoc查询是数据库编程中常见的术语。 - siamak

12
  1. 临时形成用于特定的、非连续性的目的,如一次性成立的冰雪清除问题临时委员会。

  2. 即兴的,未经计划,即兴的,如用螺丝刀进行一次性的临时性冰雪清除尝试。


9

Ad-hoc通常意味着即兴/临时/临场创作,例如即席报告或查询。不是预先确定的/预谋的。


5

Ad hoc指的是为了一个具体的目的或以一种非计划的方式解决问题。在ad hoc中,我们没有任何计划,但有完成工作的截止日期。 Ad hoc存在于不同的领域,如编程、测试等。在测试中,如果分配的时间非常少,并且必须在最短的时间内交付套件,则会进行ad hoc。

在编程中,基本上开发人员不按计划工作,而是从整个代码中逐步处理。让我来描述一下...有2个开发人员1和2。他们必须完成3个模块A、B、C。如果有一个计划,那么他们可以决定要在哪个模块上工作。但在ad hoc中,他们可以以一种非计划的方式处理任何一个模块。


4

“临时性”的反义词可能是“商用现成”(COTS)软件,该软件旨在为多个潜在客户解决一类问题(例如文字处理或簿记)。


3
在编程和软件应用的背景下,“ad hoc”通常用于表示某些编码(或更普遍地说,某些定义/规范)是在运行时完成的,而不是预先定义并封装在应用程序中。Ad hoc项目具有为特定目的而完成的特点,而不是一般或预定义的目的。
例子: 人们可以在SQL中运行一些临时查询来熟悉数据库内容(等效表达式为“即兴编写查询”)。这与在程序上下文中编写查询不同,其中要获取的列列表、要应用的过滤器等由应用程序的规格驱动。 在非常类似的用法中,最终用户可以请求能够运行临时报告的功能(等效表达式/基本概念:“自定义报告功能”),这表明需要应用程序允许最终用户在运行时决定他们希望看到报告的哪些元素(可能是以哪种特定顺序等)。 人们还可以[通常]快速“拍摄”一个小程序来服务于特定目的,例如解析一些输入以加载数据库(可能的等效:抛弃代码)。这些临时程序预计将被用于一次或几次,并在围绕特定任务的有限时间内使用。相反,编写通用导入实用程序将可在类似但不同的上下文中重复使用(并且随着时间的推移被使用/重复使用)。

1

编程是为了特定目的而进行,通常没有任何计划。例如,宏或者只设计用于完成单一任务的程序。


我从未听说过“ad hoc”这个术语被用来表示“良好因素分解”的意思。 - Chuck
@Chuck:在这个上下文中,“旨在执行单一任务并且不进行其他操作”是指整个小程序,而不是大程序的组件。 - Jeanne Pindar

-1

我听说过它在报告中的应用,我理解它是让用户选择要放入报告中的列、分组和聚合函数。


-1

我的同义词是即兴 = 案例研究


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接