问题标签 [paradigms]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3252 浏览

oop - 现实世界中的面向代理的设计?

在我的软件开发课上,我们一直在学习面向代理的编程,我的教授是它的大力支持者,他一生都在使用它。

我的问题是从设计和实现的角度来看使用代理的真正优势/劣势。从我的教授的角度来看,代理可以比通过普通的 OOP 方法更容易地重新创建非常复杂的操作。但在我看来,Agent 在复杂环境中编程同样繁琐。它们受到各种并发、时间和数据完整性问题的影响。从编码人员的角度来看,代理代码相当复杂,比普通的 OOP 代码更难理解。

有人可以告诉我在实际开发中如何看待软件代理,以及学术活动之外的优点/缺点是什么?

0 投票
2 回答
22572 浏览

programming-languages - 反应式和功能反应式编程之间的区别

我最近一直在对反应式编程进行一些研究,我发现很难找到对反应式和功能反应式之间区别的良好描述。

仅仅是使用函数方法/范式而不是使用声明式或 OO 范式来实现反应式编程吗?

0 投票
2 回答
110 浏览

dependencies - 我想称之为副作用编程,但必须有一个更好的术语

以下编程范例的名称是什么:

代码基于一组解析为真(子句)的逻辑测试执行。该子句由运算符和操作数组成。每个操作数都是一个值/对象。

不像在命令式语言中所做的那样显式评估子句(例如,正常的流控制,如if(){}),而是声明子句并将其绑定到结果代码。当子句满足时,在未来的任何时候,代码都会执行。

所以,它基本上是一个依赖树,它重新评估代码是否应该在依赖改变状态时执行。

例如,

我正在寻找一个更正式的名称和定义,搜索后我没有想出任何东西。它介于声明式和命令式之间,但我从未见过一种语言或范式可以做到这一点。

谢谢,肖恩

0 投票
4 回答
131 浏览

python - 在 Python 中,如果函数的值不是 None,是否有一种干净的方法来返回函数的值?

我发现自己编写了很多类似于以下内容的代码:

有没有一种干净的方法可以使它成为 1 或 2 衬里?这种范式的一个“例子”可能是

0 投票
2 回答
7610 浏览

r - R的编程范式是什么?

R 的编程范式是什么(如 GNU S 中的 R)?

我相信自己熟悉不同概念范式的编程语言(有 C++、Java、Prolog 和其他一些语言的编程语言),但是虽然我已经编写了自己的小型 R 脚本,但我不确定 R 应该代表哪种范式。

0 投票
3 回答
6141 浏览

functional-programming - 努力使用纯函数式编程来解决日常问题

我今天在黑客新闻上看到了这篇文章。我正在努力解决同样的问题,即理解纯函数式编程将如何帮助我抽象出现实世界的问题。7 年前,我从命令式编程转向了面向对象编程。我觉得我已经掌握了它,它对我很有帮助。在过去的几年里,我学到了一些函数式编程的技巧和概念,比如 map 和 reduce,我也喜欢它们。我已经在我的 OO 代码中使用了它们,并且对此很满意,但是在抽象一组指令时,我只能想到 OO 抽象来使代码更漂亮。

最近一直在研究python中的一个问题,一直在尽量避免使用OO来解决。在大多数情况下,我的解决方案看起来势在必行,而且我知道如果我使用 OO,我可以让它看起来既漂亮又干净。我想我会发布这个问题,也许功能专家可以提出一个既美观又实用的解决方案。如果必须,我可以发布我丑陋的代码,但宁愿不要。:) 这里的问题:

用户可以请求图像或图像的缩略图。如果用户请求图像的缩略图,但它还不存在,请使用 python 的 PIL 模块创建它。还要使用人类可读的路径创建指向原始图像或缩略图的符号链接,因为原始图像名称是哈希码,而不是对其内容的描述。最后,重定向到该图像的符号链接。

在 OO 中,我可能会创建一个 SymlinkImage 基类、一个 ThumbnailSymlinkImage 子类和一个 OriginalSymlinkImage 子类。共享数据(在 SymlinkImage 类中)将类似于原始路径。共享行为将创建符号链接。子类将实现一个名为“generate”之类的方法,如果适用,该方法将负责创建缩略图,并调用其超类以创建新的符号链接。

0 投票
5 回答
273 浏览

function - 分解功能的行为称为什么?

通常,我通过许多私有函数实现类(C#、C++),这些私有函数除了为了可读性、可维护性和范围而分离关注点和逻辑之外没有其他用途。例如,如果我看到一个 100 行长的函数,其中包含 3 个注释,将它分成虚拟的 1/3 部分块,那么对我来说就是 3 个函数。所以我将那个较大的函数分成 3 个较小的函数,现在原始函数只调用 3 个函数。

我不知道这个范例的名称。起初我以为它可能是函数式编程或模块化编程,但似乎并非如此。谁能帮我弄清楚这个范式叫什么?此外,我可以阅读到一篇维基百科文章的链接,其中讨论了这个确切的用例(当然,如果你告诉我范式的名称,我可以很容易地自己查找)。

提前致谢。

0 投票
4 回答
764 浏览

c++ - C++ 程序员的 C 陷阱和错误

如果您是 C 程序员或精通 C 的 C++ 程序员,您能告诉我您从 C++ 程序员那里注意到的最常见的错误/模式/风格是什么?例如,您是否注意到 C 程序员编写的 C 程序与 C++ 程序员编写的 C 程序之间的区别?如果您能提供一份清单,说明 C++ 程序员对 C 的主要误解,我将不胜感激。

我想学习 C,但是虽然 C++ 背景会有所帮助,但我担心它也会受到伤害。我有一个奇怪的假设,除了一些关键字和库之外,我不需要学习其他任何东西,因为我知道 C++。我对有这种假设感到难过,因为我确实认识到 C++ != C,但有时当我在 C++ 中使用 C 库或维护其他人的遗留程序 C++ 时,差异会变得模糊。

顺便说一句,我不是在问 C 中不存在哪些 C++ 特性,或者我们/他们是否使用“malloc”而他们/我们是否使用“new”。

谢谢。

0 投票
5 回答
18039 浏览

oop - OOP 的反面是什么?

我从高中开始学习 java 和 python,我想我只是一直在学习 OOP,我的问题是除了 OOP 之外还有哪些其他编程范式或编程语言类型?

0 投票
6 回答
4302 浏览

c# - C# 范式:列表的副作用

我正在努力加深对副作用以及如何控制和应用它们的理解。

在以下航班列表中,我想设置满足条件的每个航班的属性:

在这个表达式中,我的列表有副作用。根据我有限的知识,我知道前任。“LINQ 仅用于查询”和“列表只有少数操作,分配或设置值不是其中之一”和“列表应该是不可变的”。

  • 我上面的 LINQ 语句有什么问题,应该如何更改?
  • 我在哪里可以获得关于我上面描述的场景的基本范式的更多信息?