タグ付けされた質問 「code-duplication」

19
同様のconstメンバー関数と非constメンバー関数の間のコードの重複を削除するにはどうすればよいですか?
class X内部メンバーにアクセスを戻したい場所が次のようになっているとします。 class Z { // details }; class X { std::vector<Z> vecZ; public: Z& Z(size_t index) { // massive amounts of code for validating index Z& ret = vecZ[index]; // even more code for determining that the Z instance // at index is *exactly* the right sort of Z …

11
ユニットテストでは、コードの重複が許容されますか?
私はいくつかのユニットが、私が通過した時に前にいくつかの時間をテストし台無しにし、それらをより作るためにそれらをリファクタリングDRYない各テストの--the意図がもはや明らかでした。テストの可読性と保守性の間にはトレードオフがあるようです。ユニットテストで重複したコードを残しておくと読みやすくなりますが、SUTを変更した場合は、重複したコードの各コピーを追跡して変更する必要があります。 このトレードオフが存在することに同意しますか?もしそうなら、あなたはあなたのテストを読みやすくするか、維持することを好みますか?

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 …

2
プリミティブ型に関するコードの重複を回避するにはどうすればよいですか?
バックグラウンド ビット入力ストリームは、バイトの配列に支えられています。そのバイト配列からさまざまな強制プリミティブ配列に読み取るメソッドがいくつかあります。 問題 コードが重複しています。Javaはプリミティブ型のジェネリックを欠いているので、おそらく繰り返しは避けられません。 コード 反復的なコードは、次の方法で明らかになります。 @Override public long readBytes(final byte[] out, final int offset, final int count, final int bits) { final int total = offset + count; assert out != null; assert total <= out.length; final long startPosition = position(); for (int i = offset; i < total; …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.