Questions tagged «dry»


18
为什么“复制和粘贴”代码很危险?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 改善这个问题 有时,我的老板会向我们抱怨: 为什么我们需要这么长时间才能实现功能? 实际上,该功能之前已在其他应用程序中实现,您只需要从那里复制和粘贴代码。成本应该低。 这确实是一个难题,因为在我看来,复制和粘贴代码并不是一件简单的事情。 您有充分的理由向您的非技术老板解释吗?
130 dry  copy-paste 

14
如何在Django模板中重复一个“块”
我想在同一Django模板中两次使用相同的{%block%}。我希望此块在我的基本模板中出现多次: # base.html <html> <head> <title>{% block title %}My Cool Website{% endblock %}</title> </head> <body> <h1>{% block title %}My Cool Website{% endblock %}</h1> </body> </html> 然后扩展它: # blog.html {% extends 'base.html' %} {% block title %}My Blog{% endblock %} # pictures.html {% extends 'base.html' %} {% block title %}My Pictures{% …

11
单元测试中重复的代码是否更容忍?
不久前,当我通过检查并重构它们以使其更加干燥时,我破坏了多个单元测试-每个测试的目的不再明确。似乎在测试的可读性和可维护性之间需要权衡。如果我将重复的代码留在单元测试中,则它们更具可读性,但是如果我更改SUT,则必须跟踪并更改重复的代码的每个副本。 您是否同意这种权衡存在?如果是这样,您是否希望测试具有可读性或可维护性?

9
Java错误:未为默认构造函数定义隐式超级构造函数
我有一些简单的Java代码,其结构与此类似: abstract public class BaseClass { String someString; public BaseClass(String someString) { this.someString = someString; } abstract public String getName(); } public class ACSubClass extends BaseClass { public ASubClass(String someString) { super(someString); } public String getName() { return "name value for ASubClass"; } } 我将有很多子类BaseClass,每个子类以getName()自己的方式(模板方法模式)实现方法。 这很好用,但是我不喜欢子类中有多余的构造函数。输入更多,难以维护。如果要更改BaseClass构造函数的方法签名,则必须更改所有子类。 当我从子类中删除构造函数时,出现此编译时错误: Implicit super constructor …

2
处理递归和类型时如何减少代码重复
我目前正在为一种编程语言开发一个简单的解释器,并且我的数据类型如下: data Expr = Variable String | Number Int | Add [Expr] | Sub Expr Expr 我有许多函数可以执行简单的操作,例如: -- Substitute a value for a variable substituteName :: String -> Int -> Expr -> Expr substituteName name newValue = go where go (Variable x) | x == name = Number newValue go …

14
如何在评分系统功能中简化重复的if-elif语句?
目标是构建一个程序,将分数从“ 0到1”系统转换为“ F到A”系统: 如果score >= 0.9会打印“ A” 如果score >= 0.8会打印“ B” 0.7,C 0.6,D 然后在该点以下的任何值打印F 这是构建它的方法,它可以在程序上运行,但是有些重复: if scr >= 0.9: print('A') elif scr >= 0.8: print('B') elif scr >= 0.7: print('C') elif scr >= 0.6: print('D') else: print('F') 我想知道是否有一种构建函数的方法,以使复合语句不会那么重复。 我是一个初学者,但是会喜欢以下内容: def convertgrade(scr, numgrd, ltrgrd): if scr >= numgrd: return ltrgrd if …

5
如何在不重复自己的情况下使该算法变得更懒惰?
(受到我对这个问题的回答的启发。) 考虑下面的代码(它应该找到小于或等于给定输入的最大元素): data TreeMap v = Leaf | Node Integer v (TreeMap v) (TreeMap v) deriving (Show, Read, Eq, Ord) closestLess :: Integer -> TreeMap v -> Maybe (Integer, v) closestLess i = precise Nothing where precise :: Maybe (Integer, v) -> TreeMap v -> Maybe (Integer, v) precise closestSoFar …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.