编程中“ad hoc”的确切含义是什么?
我发现在编程领域中使用的术语“ad hoc”。 在编程中究竟意味着什么?
维基说:“为此目的”
“特设”是一个拉丁短语,可以适用于任何事情,而不仅仅是专门编程。 它基本上是指为了处理一个特定的情况,而不是一些系统的解决问题的方法,或多或less地是为了处理一个特定的情况而编写的。
关于具体的编程,这可能类似于Joel Spolsky最近称之为“ Duct tape Programming ”
这基本上意味着写一些快速和脏的代码,而没有重用的意图。 用户input的查询通常是主要的例子。 另一种常见的情况是将数据集从1格式转换为另一种格式的实用程序,转换完成后将无法使用。
-
暂时形成一个特定的,非持续的目的,作为一个特别的除冰委员会。
-
即兴的,没有计划的,即兴创作,作为一个特殊的尝试,用螺丝刀去除冰块。
一般意义即兴/ impromtu /即时编写,如临时报告或查询。 不预先确定/预先冥想
“ad hoc”(也就是“专门用于这个”)的对立可能是“商业现货”(COTS)软件,它是为了解决一般问题类别(例如文字处理或书籍)保持)几个可能的客户。
在编程和软件应用的情况下 , ad hoc通常用于表示这一点
一些编码(或更一般地说,一些定义/规范)在运行时完成,
而不是在应用程序中预先定义和封装。
特设项目具有为特定目的而服务的特性,而不是通用的或预先定义的特性。
例子
可以在SQL中运行一些特别的查询来自己处理数据库内容。 (等价的expression方式是“ 即时编写查询 ”)。 这与程序上下文中的写查询有所不同,其中列的列表,应用的filter等由应用程序的规范驱动 。
在一个非常相似的用法中,最终用户可能会请求运行即席报告的能力(等同的expression/底层概念:“ 自定义报告function ”),这表明应用程序需要允许最终用户决定运行时间,他们希望看到的报告的哪些元素(可能在哪个特定顺序等)。
人们也可以[典型地]快速地“掀起”一个小程序来服务特定的目的,比如说parsing一些用于加载数据库的input(可能相当于:“丢弃代码”)。 预计这种专门的scheme将被使用一次或几次,并在有限的时间框架内围绕着一项特定的任务。 相反的是写一个通用的导入工具,可以在类似但不同的上下文中重用(并且可以随着时间的推移使用/重用)。
特定原因的特别手段或以无计划的方式接近解决scheme。 在特设我们没有任何计划,但有完成工作的最后期限。 临时存在于编程,testing等不同领域。在testing中,如果分配的时间非常less,并且必须在最短的时间内交付套件,那么我们将进行特设。
在编程中,基本上是开发人员不按照计划工作,但他正在从整个代码工作。 让我来描述一下……有2个开发者1和2.他们必须完成3个模块,如A,B,C。如果有计划,那么他们可以决定他们将在哪个模块上工作。 但是在特殊情况下,他们可以以无计划的方式接近任何模块。
我听说它用于报告,我认为它是指让用户select将哪些列,分组和集合函数放入报告中,
编程为特定目的,通常没有任何计划。 一个例子就是一个macros或者一个被devise来完成单个任务的东西,而不是别的。
我的同义词是ad hoc =案例研究