问题标签 [dry]

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 投票
4 回答
7709 浏览

php - 在 PHP 和 JavaScript 之间共享常量

可能重复:
将 PHP 字符串传递给 Javascript 变量(并转义换行符)

我正在开发的 PHP 应用程序中有几个常量。我定义了一个常量类,并将常量定义为 const VAR_NAME = value; 在这堂课中。我想在我的 JavaScript 和 PHP 代码之间共享这些常量。是否有一个 DRY(不要重复自己)机制来分享它们?

0 投票
5 回答
1240 浏览

unit-testing - 生产和测试代码常量之间的 DRY

我通常会尽量避免重复并遵守 DRY 原则。但是,我想知道这样的案例:

如果要求标签为“blah”并且有人将 FEATURE_LABEL 更改为“bleh”,则即使不再满足要求,测试也会通过。这是违反 DRY 的有效场所吗?

0 投票
5 回答
4353 浏览

sql - 如何将 DRY 原则应用于枢轴月份的 SQL 语句

我想知道其他人如何处理这种情况......以及如何将不要重复自己(DRY)原则应用于这种情况。

我发现自己经常 PIVOTing 或在 T-SQL 中编写 CASE 语句以将 Months 呈现为列。我通常有一些字段,其中包括 (1) 日期字段和 (2) 值字段。当我通过 ASPX 页面或 Reporting Services 将其呈现给用户时,我需要拥有最后最右边的 14 列才能具有这种模式:

[年],[一月],[二月],[三月],[四月],[五月],[六月],[七月],[八月],[九月],[十月],[十一月],[十二月] ],[全部的]

其中 year 是 int 形式的年份,每个其他字段是该月的总和值字段([Total] 除外,它是年份的总值字段)。

我想找到一种可重复使用的方法来处理这个问题。对所有建议开放 (T-SQL / ANSI SQL)

0 投票
3 回答
1493 浏览

ruby-on-rails - 如何干燥我的 Rails 应用程序的 CRUD 部分?

我正在编写一个应用程序 - 与那里的许多应用程序类似 - 有 90% 的常规 CRUD 东西和 10% 的“果汁”,我们需要讨厌的业务逻辑和更多的灵活性和定制。

关于这 90%,我尽可能地坚持 DRY 原则。只要有控制器,我就发现 resource_controller 真的可以工作,我可以摆脱该区域的所有控制器,用通用控制器替换它们。

现在我想知道如何获得相同的观点。在这个应用程序上,我有一个整体的 application.html.erb 布局,然后我必须有另一个布局层,所有 CRUD 视图都通用,最后是“核心”部分:

  • 在 index.html.erb 上,我只需要生成一个包含我指示的字段和标签的简单表格。

  • 对于新建和编辑,还有通用表单编辑,指示标签和字段(如果需要,可以提供自定义字段)。

  • 我不确定我是否需要展示,但如果我这样做,它将与新建和编辑相同。

哪些插件和工具(甚至文章和通用指针)可以帮助我完成这项工作?

谢谢,费利佩。

0 投票
6 回答
1647 浏览

python - 在 python 中重构这个字典到 xml 的转换器

这是一件小事,真的:我有这个函数可以将 dict 对象转换为 xml。

这是功能:

例如,它转换这个字典

到:

它有效,但该addDict功能看起来有点过于重复。我确信有一种方法可以将它重构为 3 个名为和的协同递归函数addDict,但我的大脑卡住了。有什么帮助吗?addListaddElse

此外,任何摆脱offset +每一行中的东西的方法都会很好。

注意:我选择这些语义是因为我试图匹配org.json中的json-to-xml 转换器的行为,我在项目的不同部分中使用了它。如果您只是为了寻找字典到 xml 转换器而进入此页面,那么在某些答案中有一些非常好的选择。(特别是pyfo)。

0 投票
14 回答
49221 浏览

django - 如何在 django 模板中重复“块”

我想在同一个 django 模板中使用相同的{% block %}两次。我希望这个块在我的基本模板中出现不止一次:

然后扩展它:

我会得到一个例外,因为 Django 希望该块只出现一次:

/ 处的模板语法错误

名称为“title”的“block”标签多次出现

一个快速而肮脏的解决方案是将块标题复制到title1title2 中

但这违反了DRY原则。这会很困难,因为我有很多继承模板,也因为我不想下地狱 ;-)

这个问题有什么技巧或解决方法吗?如何在模板中重复相同的块,而不复制所有代码?

0 投票
2 回答
806 浏览

django - 如何为 Django 相关对象集实现通用接口?

这是交易:

我有两个 db 模型,比如说ShoppingCartOrder. 遵循 DRY 原则,我想将一些常见的道具/方法提取到共享接口ItemContainer中。

一切都很顺利,直到我遇到_flush()主要对相关对象集执行删除的方法。

所以问题是:我如何动态地知道它是orderitem_set还是shoppingcartitem_set

0 投票
3 回答
2629 浏览

stored-procedures - sql sp 年或年月

我有一些需要年份和月份的 SP:

并通过以下方式查询:

然后我只有一年一样的东西

并像这样查询它:

当然,逻辑比 sum(col) 更复杂

我的问题是,我如何编写这个 SP,这样逻辑就不会在两个 SP 之间重复,即使这意味着当我的意思是全年时,目标月份传递 0?

0 投票
4 回答
229 浏览

dry - 您如何使用 xy 坐标跟随 DRY 代码?

您将如何以您选择的语言在此示例中获得梦寐以求的 DRY 理想:

注意:大量的 ad-hoc 预处理器宏的可读性和可写性可能极低,因此已淘汰。

0 投票
3 回答
652 浏览

c# - 当逻辑需要 C# 和 Javascript 实现时如何保持 DRY?

我目前正在使用 ASP.NT MVC RC1 来实现一个基本的时间表应用程序。我想遵循 DRY 原则,但在一种特殊情况下很难做到:

我的一个观点,实际上是部分观点,有许多文本框,代表在特定任务上花费的小时数,一周中每天一个文本框。当我最初加载页面时,我希望视图中有一个文本框来显示所有这些小时的总数。此外,我希望在更改文本框中的值时更新该总数。对文本框的更新不会导致完整的回发,只会导致对结果不做任何事情的 AJAX 回发(回发会更新 DB 上的值,但返回的 ActionResult 是 EmptyResult,因为我不需要在用户界面)。

目前,我让控制器创建一个视图,该视图填充了该视图的“总计”,因此添加所有值的逻辑位于 C# 控制器中。在 UI 方面,我有更新 UI 级别总数的 javascript。但这不好,因为如果我改变计算总数的逻辑,我必须在两个地方改变它!啊!不干燥!

那么,我该怎么做呢?到目前为止,我唯一的答案是废弃计算 UI 上总数的 javascript 代码,而是让 AJAX 回发返回该视图的新“总数”。

还有其他方法吗?