问题标签 [rules]
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.
rules - 我正在为我的团队编写编程思维规则:你的规则是什么?
一段时间以来,我一直在编写一份清单,以帮助我分享编程方法的原因和想法,以及如何做某事。
为此,我想建立一个清单:
- 最佳实践,
- 最好的想法,
- 最好的方法...
这有助于程序员以最有效的方式分析、思考、处理、解决和实施的能力。
我在整个 Stack Overflow 的问题中看到了数十条非常有价值的评论,但我找不到将它们放在一起的地方。关于 Stack Overflow 的观点最有争议。但是,我只是在寻找可以分享并帮助我的团队的明智见解,我通过更好的编程更好地处理和解决问题。
希望这可以成为收集一两个简明、深刻且易于分享、重复和回顾的衬里的地方。如果我们对每个答案都保持一条规则,那么投票赞成/反对可能是最容易的。
我将从第一个开始。
DRY - 不要重复自己 - 在代码、注释或文档中。
exception - 违反业务规则是否应该引发异常?
违反业务规则是否应该引发异常?
.net - 在为规则引擎创建 DSL 时使用什么技术?
您会推荐什么技术来为 .NET 的业务规则和验证应用程序块创建 DSL ?为什么?
框架的架构由产品建立和验证测试。我只想创建一个 .NET 处理器来将人类可读的规则转换为已编译的规则实现。
我知道的选项是:
- 使用.NET Boo的编译器管道
- 使用 F# 附带的解析器构建器 - FsLex 和 FsYacc
不幸的是,考虑到 DSL 语法(它会不断发展),这些方法都没有提供任何东西来构建或多或少友好的 IDE 来编辑 DSL。
有什么想法或提示吗?
design-patterns - 将规则应用于事实的设计模式和算法
我正在尝试确定客户对零售环境中定价引擎的要求。我们将定价引擎定义为在一组定价规则上运行,该规则根据购物车中已有的现有商品为购买的商品建立新的价格点。
一个简单的价格规则可能是GET A SHIRT 40% OFF。一个更复杂的规则可能是当您购买 2 条裤子并花费至少 30 美元时获得一件免费衬衫。
应用这些规则的一般行业惯例似乎是对客户的最终最优价格,但已经提出可能需要有一个排名选项以及一个堆叠选项。
排名将允许否则会失败的规则获胜。堆叠将允许多个规则获胜。
我已经在 SO 上查看了许多关于规则引擎的帖子,我需要帮助确定我是否应该将这些工具之一作为我的设计的一部分,或者是否应该将哪些设计模式和算法适用于设计。
很明显,这可能是一个 NP 问题,我将处理的项目(事实)数量可能超过每笔交易 100+,每次添加新项目时都需要重新定价。
asp.net - ASP .Net 成员访问规则
嗨,我在本地服务器上设置了访问规则,它们工作正常。但是,当我将它们部署到我的登台服务器上时,规则不起作用。规则存储在哪里?我的本地服务器和登台服务器都指向同一个数据库服务器。感谢您的任何见解。
我在 ASP.Net Web 应用程序管理中设置了访问规则
raku - Perl 6 是否对将使用的顺序交替做出任何承诺?
考虑到 Perl 6 之类的替代方案,/(foo|foobar|foobaz)/
是否会承诺首先使用这三个中的哪一个,如果它确实在文档中的哪个位置做出了承诺?
python - 计算价格的业务规则
我工作的企业是一家在线零售商,我目前正在从事一个项目,其中包括计算产品的客户价格。我们可能会创建一个看起来像...的服务
不用担心它看起来不会完全一样,但是您会明白总体思路。在我们实施这项服务的过程中,将有许多计算这个价格的规则,这些规则可以经常改变,我们可能想要做的是为这些规则创建某种 DSL。目前,虽然我们不太确定销售部门等实际会要求进行哪些更改,所以我正在考虑托管 DLR 并拥有一个包含大量价格计算的 Iron Python 或 Iron Ruby 脚本文件。通过这种方式,我们可以快速更新价格计算规则,也可以了解业务人员需要什么类型的 DSL。
css - css选择器规则——选择器中所有元素的规则集?
使用 at-rules,可以在 at-rule 事件期间为元素设置一个规则集(例如打印、移动设备等)。但是对于特定的选择器呢?
我正在处理一个较大站点的子页面,并且我必须对我的任何页面使用主样式表。有时,样式规则会被主样式表中的规则打败。为了克服这个问题,我最终不得不在所有规则之前添加“#mypage #content blah blah”,以确保我的 css 更具体。它很快就会变得混乱。我更喜欢做的是:
这样我制定的任何规则都包含在我正在处理的页面部分的 id 中。
哦,我忘了提,我不能(据我所知)使用@namespace,因为我的页面在模板框架内(因此需要主样式表),所以如果我只是说@namespace(我的- page-url) 我的样式表会覆盖主样式表。
我错过了一些简单的东西吗?
澄清:
对不起,我想我试图保持简单,我太含糊了......
我正在开发一个页面的内容,该页面将放置在一个更通用的模板(标头、侧边栏导航等)中,该模板具有全局样式表,我无法控制任何内容。
我对我的部分的样式表有一些自由。我不希望我的任何规则意外覆盖全局样式表,并且我希望避免为我的规则使用非常长的选择器以避免全局样式表覆盖我的样式表。例如,如果我想说
“所有表格都有黑色边框”
我冒着在侧边栏中的某个桌子周围放置黑色边框的风险。但是,如果我说
“div #content 中的所有表格都有黑色边框”
这只有在他们没有更具体的规则时才有效。
现在,我可以遍历每条规则并添加一长串选择器,以确保我的每条规则都适用并且仅适用于我的部分,但这并不是真正有吸引力或有趣的做法。我希望我可以将所有规则嵌套在一个更大的规则中,就像我上面的例子一样,这样我就可以有一个主要规则:
这样我只需声明一次我的特异性,它涵盖了该主要规则中的每条规则。
sql - 如何防止删除表中的第一行(PostgreSQL)?
是否可以防止删除 PostgreSQL 端表中的第一行?
我有一个类别表,我想防止删除默认类别,因为它可能会破坏应用程序。当然,我可以在应用程序代码中轻松地做到这一点,但在数据库中做到这一点会好得多。
我认为这与删除语句的规则有关,但我在文档中找不到任何与我的问题很接近的东西。
parsing - Rules based parsing for configuration files
What is the best method to implement a system for parsing a configuration file based on a set of rules? I would appreciate any pointers in the direction of best practices or existing implementations.
Edit: I have not decided not choice of any specific language yet but I am comfortable with both Perl and Python. The files are something along Router/Switch configuration files with different functional sections.