我现在已经在很多地方和很多上下文中看到了这种情况,例如在SQL中。
我不能定义“提示”的含义,因为它显然有一些应用程序,或者是更大的设计模式/技术的一部分。
在软件工程中使用的提示究竟是什么?
发布于 2012-05-12 22:44:10
提示的概念是表示特定API 合同的一种特殊方式,或者更准确地说,是缺少提示。基本思想是,应用程序开发人员将一些信息传递给底层系统/库,而不保证会考虑到这些信息。
我个人喜欢在用于OpenGL API的glHint文档中描述这一点的方式:
指定具体的实现提示.指示所需行为的符号常量。
维基百科关于SQL提示的文章提到:
甲骨文通过在以+符号开头的查询中使用巧尽心思构建的注释来实现提示,因此不会影响SQL兼容性。
发布于 2012-05-13 00:09:28
在SQL中,您没有指定如何做事情(与Java、C#、VB等语言相反);而是指定结果应该是什么。例如,“我希望所有的学生都有A级”
SELECT * FROM students WHERE grade = 'A'
这是一个非常简单的情况;然而,在复杂查询中,数据库引擎通常不知道执行查询的最佳方式是什么。例如,如果您知道某个索引会比另一个索引更好地加快查询速度,则可以给出提示,并告诉数据库引擎使用此索引。
这不是编写SQL语句的标准方法。这是一种优化慢速查询的高级技术。如果您是SQL编程新手,那么首先可以安全地忽略这些提示。
一个完全不同的例子是基于向量的字体的呈现(比如TrueType字体)。渲染包括将基于矢量的字符形状描述转换为像素模式。例如,如果呈现"m“,可能会出现问题。由于四舍五入的影响,"m“的两个弧可以得到不同的宽度,这取决于产生的大小。如果产生的"m“宽度为偶数像素数,则这两个弧不能具有相同的宽度。因此,对"m“的描述有一个提示,提示渲染器使左侧和右侧与之相同。例如,如果计算出的宽度将测量8个像素,则渲染器决定将其设置为7或9像素宽。
三米S,宽8,9,7像素
0·00·00· 0·00··00· 000·00·
00··0··0 00··00··0 0··0··0
0···0··0 0···0···0 0··0··0
发布于 2012-05-12 22:38:15
它的意思和英语中的意思是一样的:提示是一条线索。例如,一些处理器通过预测是否使用给定的分支来提高性能。如果处理器猜错了,就必须备份并重新填充指令管道;如果猜测正确,代码就会快速运行,因为管道中没有停顿。程序员或编译器通常可以判断是否可能出现分支,并可以向处理器提供提示,以提高其猜测的准确性,从而提高性能。因此,无论是否有提示,处理器都会得到正确的结果,如果它的分支预测100%是错误的,它甚至会得到正确的结果。但是精确的分支预测可以加快速度,并且提供一个好的提示可以提高这种准确性。
https://softwareengineering.stackexchange.com/questions/148380
复制相似问题