タグ付けされた質問 「dry」


18
コードの「コピーと貼り付け」が危険なのはなぜですか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 5年前休業。 この質問を改善する 時々、私の上司は私たちに文句を言うでしょう: 機能を実装するのになぜそんなに長い時間が必要なのですか? 実際、この機能は以前に別のアプリケーションに実装されています。そこからコードをコピーして貼り付けるだけです。コストは低くなければなりません。 コードのコピーと貼り付けは私の見た目ではそれほど簡単なことではないので、それは本当に難しい質問です。 これを技術者ではない上司に説明する理由はありますか?
130 dry  copy-paste 

14
djangoテンプレートで「ブロック」を繰り返す方法
同じdjangoテンプレートで同じ{%block%}を 2回使用したいと思います。このブロックをベーステンプレートに複数回表示します。 # 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 …

11
ユニットテストでは、コードの重複が許容されますか?
私はいくつかのユニットが、私が通過した時に前にいくつかの時間をテストし台無しにし、それらをより作るためにそれらをリファクタリングDRYない各テストの--the意図がもはや明らかでした。テストの可読性と保守性の間にはトレードオフがあるようです。ユニットテストで重複したコードを残しておくと読みやすくなりますが、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 scr < numgrd: return …

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 …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.