这叫什么样的编程风格?

时间:2009-11-04 18:19:07

标签: coding-style terminology

对于这种语法编程风格,我没有好名字 more 简洁,因为不必将上下文传递给函数或从上下文对象中调用函数。

例如,一些随机的OpenGL C代码:

 glBegin(GL_QUADS);
 glNormal3fv(&n[i][0]);
 glVertex3fv(&v[faces[i][0]][0]);
 glVertex3fv(&v[faces[i][1]][0]);
 glVertex3fv(&v[faces[i][2]][0]);
 glVertex3fv(&v[faces[i][3]][0]);
 glEnd();

但您可以在“开始”调用中设置上下文并在“结束”调用中释放它。 我在C#,Java和Ruby中看到过这样的样式。它有名字吗?

5 个答案:

答案 0 :(得分:6)

“具有全球状态副作用的程序”

(虽然OGL确实使用堆栈来维护各种状态,但在本例中没有使用它,因此在我的回复中省略了。)

答案 1 :(得分:1)

面向参考的编程?

答案 2 :(得分:1)

如果您认为语句前面有“this”,您可以将其视为Fluent界面:http://en.wikipedia.org/wiki/Fluent_interface

否则,它看起来非常像面向堆栈的语言,如PostScript:

http://en.wikipedia.org/wiki/Stack-oriented_programming_language

答案 3 :(得分:1)

它似乎与 Builder

非常相似

答案 4 :(得分:1)

这看起来像一个建筑师。你有什么是openGL调用,你基本上构建一个三角形(渲染)。您的示例在oo / builder术语中重写:

TriangleBuilder b = new TriangleBuilder();
b.AddVertex(normal, faces[0]);
b.AddVertex(normal, faces[1]);
b.AddVertex(normal, faces[2]);
Triangle t = b.Build();