Tag: dry

„Wiederhole Dich nicht“, ein software-Entwicklungs-Philosophie, die darauf abzielt, Verringerung der Redundanz und code-Wiederholung. Fragen zur Umgestaltung von code sind besser geeignet, auf codereview.stackexchange.com

Best practice für die Wiederverwendung von python-code

Anzahl der Antworten 4 Antworten
Ich Schreibe eine python-library-app(enthält mehrere *.py-Dateien). Und einige meiner python-Projekte wiederverwenden der code in der Bibliothek-app. Was ist die empfohlene Praxis für die Wiederverwendung von python-code? Derzeit habe ich dachte, aus drei Optionen: Kopieren und einfügen. Dies

Trocknen Views in Rails (number_to_currency)

Anzahl der Antworten 6 Antworten
Habe ich einen ähnlichen code wie: number_to_currency(line_item.price, :unit => "£") littering meine Ansichten in verschiedenen Modellen. Da meine Anwendung die sich nur in GBP (£), sollte ich mich nicht bewegen dieses in jedem meiner Modelle, so dass

Wie zu versiegen Schienen 3-Controller durch überschreiben von Methoden wie respond_with?

Anzahl der Antworten 5 Antworten
Ich versuche zu schaffen, eine JSONP-API für meine Rails-3-Anwendung. Jetzt in meinem Controller, ich habe eine Menge von Handlungen, die diesem Muster Folgen: # This is from my users_controller.rb, as an example def index @users = User.all

Die Angabe von default-Wert für django hidden-form-Feld - bone DRY?

Anzahl der Antworten 3 Antworten
Also sagen wir mal in letzter minute (in der Ansicht), die ich entscheiden, ich will geben Sie einen Standardwert für ein Feld und machen es versteckt, etwa so: form.fields['coconut'] = forms.ModelChoiceField(label="", widget=forms.HiddenInput(), queryset=swallow.coconuts.all(), initial=some_particular_coconut) Meine Frage ist:

So bleiben Sie TROCKEN, wenn Sie sowohl mit Javascript und ERB-templates (Rails)

Anzahl der Antworten 5 Antworten
Baue ich eine Rails-app, die verwendet Drücker, um die Nutzung von web sockets, push-updates direkt an den client. In javascript: channel.bind('tweet-create', function(tweet){ //when a tweet is created, execute the following code: $('#timeline').append("<div class='tweet'><div class='tweeter'>"+tweet.username+"</div>"+tweet.status+"</div>"); }); Dies ist

wie halten die Don ' T-Repeat-Yourself (DRY) Prinzip, wenn es zu viele wenn-dann-sonst macht der code nicht lesbar?

Anzahl der Antworten 6 Antworten
Möchte ich einhalten, um die Don ' T-Repeat-Yourself-Prinzip, aber manchmal, wenn ich PHP zusammen mit HTML und CSS, wenn ich re-verwenden Sie den gleichen code für verschiedene Situationen, mein code bald werden so viele wenn-dann-sonst, dass der

JSLint "eval is evil." - alternativen

Anzahl der Antworten 7 Antworten
Ich bin ein paar JavaScript-Funktionen, die ausgeführt werden auf dem client (browser) und dem server (in einem Java-Nashorn-Kontext). Dies sind kleine Funktionen - im Grunde wenig Prüfer, die sind gut definiert und verlassen Sie sich nicht auf

Django - reverse url-mapping in den Einstellungen

Anzahl der Antworten 2 Antworten
Einige der Optionen, die in den django-Einstellungen-Datei sind die urls, zum Beispiel LOGIN_URL und LOGIN_REDIRECT_URL. Ist es möglich zu vermeiden, hardcoding diese urls, und stattdessen reverse-url-mapping? Im moment ist dies wirklich der einzige Ort, wo ich mich

Überprüfen Sie einen Wert in die Eigenschaft

Anzahl der Antworten 3 Antworten
Also ich habe gehört, dass die Validierung einen Wert in einem Objekt wie diesem: //dummy example, let's assume that I want my value without dots public string MyProp { set { if(value.Contains('.')) throw new ArgumentException("Must not contain

Knockout.js zeigen / verstecken block Sichtbarkeit Muster

Anzahl der Antworten 3 Antworten
Habe ich die code-Duplizierung problem in die nächste Falle. Auf meiner Seite habe ich eine Menge Blöcke, die ich brauche, um ein - /ausblenden durch klicken auf den link: <div> <a data-bind="click: showHiddenFirst, visible: isVisibleFirst"href="#">Show first</a> <div

Template-Funktion als template-argument

Anzahl der Antworten 4 Antworten
Ich bin gerade verwirrt, wie etwas umzusetzen ist in einer generischen Form in C++. Es ist ein wenig verworren, so lassen Sie mich erklären, Schritt für Schritt. Überlegen, wie code: void a(int) { //do something } void

Kann ich die Erben von Konstruktoren?

Anzahl der Antworten 5 Antworten
Ich weiß, es ist nicht möglich, Erben von Konstruktoren in C#, aber es ist wahrscheinlich ein Weg, das zu tun, was ich tun will. Ich habe eine Basisklasse geerbt wird, die von vielen anderen Klassen, und es

Wie vermeidet code-Duplizierung Umsetzung von const und non-const-Iteratoren?

Anzahl der Antworten 5 Antworten
Ich bin Implementierung eines custom-container mit einer STL-ähnliche Oberfläche. Ich habe, um regelmäßig iterator und einen const iterator. Die meisten der code für die beiden Versionen der Iteratoren ist identisch . Wie kann ich vermeiden, dass diese

TROCKEN Rubin Initialisierung mit Hash-Argument

Anzahl der Antworten 6 Antworten
Ich finde mich mit hash-Argumente für Konstruktoren ein bisschen, vor allem beim schreiben von DSLs für die Konfiguration oder andere bits, von API, auf die der Anwender ausgesetzt sein werden. Was ich am Ende tun, ist so

Was ist der empfohlene Weg, um verlängern AngularJS-Controllern?

Anzahl der Antworten 11 Antworten
Ich habe drei Controller, die ziemlich ähnlich sind. Ich will einen controller, der diese drei erweitern und teilen-Funktionen. InformationsquelleAutor vladexologija | 2013-05-14

Wie kann ich die initialisieren von Parametern, wenn ich das instanziieren von Objekten in Rails?

Anzahl der Antworten 4 Antworten
Clients haben viele Invoices. Rechnungen haben eine number Attribut, das ich initialisieren möchten, durch Erhöhung der client die Vorherige Rechnungsnummer. Beispiel: @client = Client.find(1) @client.last_invoice_number > 14 @invoice = @client.invoices.build @invoice.number > 15 Möchte ich diese Funktionalität

Wie kann ich definieren, die Größe des drawables, die in der Stil-Datei?

Anzahl der Antworten 2 Antworten
Möchte ich angeben, nur einmal im res/values/styles.xml die Größe von zwei Checkboxen und den vier gestalten drawables res/drawable/cb1_checked.xml res/drawable/cb1_unchecked.xml res/drawable/cb2_checked.xml res/drawable/cb2_unchecked.xml. Diese Weise wird die Größe angezeigt würde, eine Zeit, in der Stil statt vier in den

Deklarieren und initialisieren Sie Zeiger, die kurz und prägnant (ich. e. Zeiger auf int)

Anzahl der Antworten 4 Antworten
Gegeben Zeiger auf char, kann man Folgendes tun: char *s = "data"; Soweit ich das verstanden habe, eine Zeiger-variable deklariert ist hier, Arbeitsspeicher ist für beide Variablen und Daten, die letztere ist gefüllt mit data\0 und die

Zugriffsberechtigung zu bestimmten Klasse muss public sein-Fehler in PHP

Anzahl der Antworten 3 Antworten
Habe ich diese Klasse <?php abstract class Validator{ public $_errors = array(); abstract public function isValid($input); public function _addErrors($message){ $this->_errors = $message; } public function getErrors(){ return $this->_errors; } public function getMessage(){ return $this->message; } } class

Wie die Wiederverwendung eine große Abfrage, ohne Sie zu wiederholen?

Anzahl der Antworten 5 Antworten
Wenn ich zwei Abfragen, die ich nennen horrible_query_1 und ugly_query_2und ich möchten, führen Sie die folgenden zwei minus-Operationen auf Sie: (horrible_query_1) minus (ugly_query_2) (ugly_query_2) minus (horrible_query_1) Oder vielleicht habe ich eine terribly_large_and_useful_queryund die Ergebnismenge produziert, den ich

So passen Sie to_json Antwort in Rails 3

Anzahl der Antworten 3 Antworten
Ich bin mit respond_with und alles ist richtig angeschlossen, um die Daten korrekt. Ich möchte zum anpassen der zurückgegeben jsonxml und foobar - Formate in einem TROCKENEN Weg, aber ich kann nicht herausfinden, wie dies zu tun

Java error: Implicit super constructor is undefined for default-Konstruktor

Anzahl der Antworten 10 Antworten
Ich habe ein paar einfache Java-code, der ähnelt diesem in seiner Struktur: abstract public class BaseClass { String someString; public BaseClass(String someString) { this.someString = someString; } abstract public String getName(); } public class ACSubClass extends BaseClass

Warum ist "copy and paste" code-gefährlich?

Anzahl der Antworten 18 Antworten
Manchmal, mein Chef wird sich bei uns beklagen: Warum brauchen wir so eine lange Zeit zu implementieren, die eine Funktion? Eigentlich, die Funktion wurde implementiert, die in einer anderen Anwendung vor, Sie müssen nur kopieren und einfügen-codes

Lokalisierte Projekt mit mehreren Zielen mit lokalisierten app-Namen

Anzahl der Antworten 6 Antworten
Habe ich vor kurzem zusammen zusammen 5 von meinem stand-alone-Projekte, in einem Projekt zu haben, eine gemeinsame code-Basis. So, jetzt habe ich ein Projekt mit 5 Scheiben statt. Jeder Gegner hat die gleichen fileset, außer für einige

Wie wiederholen Sie einen "block" in ein django template

Anzahl der Antworten 13 Antworten
Ich will das gleiche {% block %} zweimal in der selben django-template. Ich möchte in diesem block mehr als einmal vorkommt, in meiner Basis-Vorlage: # base.html <html> <head> <title>{% block title %}My Cool Website{% endblock %}</title> </head>

Was ist der empfohlene Weg, um AngularJS-Controller zu erweitern?

Anzahl der Antworten 11 Antworten
Ich habe drei Controller, die ziemlich ähnlich sind. Ich will einen controller, der diese drei erweitern und teilen-Funktionen. InformationsquelleAutor der Frage vladexologija | 2013-05-14

Wie wiederverwendet man vorherJeden / nachJeden in Jasmine JS?

Anzahl der Antworten 4 Antworten
Beim schreiben von tests mit JasmineJS ich habe viele tests, die ähnliche beforeEach/afterEach-code. Gibt es eine Möglichkeit zu implementieren, eine erbschaft Modell mit JasmineJS test-suites? Kann ich alle tests in einem einzigen describe aber in diesem Fall

DRY URLs in Django Javascript

Anzahl der Antworten 9 Antworten
Bin ich mit Django auf der Appengine. Ich bin mit dem django reverse() - Funktion überall und hält alles so TROCKEN wie möglich. Aber ich habe Probleme mit der Anwendung dieser auf meine client-side javascript. Es gibt

sed Befehl im Trockenlauf

Anzahl der Antworten 3 Antworten
Ich bin nicht in der Lage, herauszufinden, ob und wie es möglich ist, machen Sie einen Probelauf mit der sed. Also ich habe diesen Befehl: find ./-type f | xargs sed -i 's/string1/string2/g' Aber bevor ich wirklich

Ist duplizierter Code in Unit Tests erträglicher?

Anzahl der Antworten 11 Antworten
Ich ruiniert mehrere unit-tests vor einiger Zeit, ich ging durch und überarbeitete Sie, damit Sie mehr TROCKEN - die Absicht jeder test wurde nicht mehr klar. Es scheint, es ist ein trade-off zwischen den tests Lesbarkeit und

Kann ich Konstruktoren erben?

Anzahl der Antworten 5 Antworten
Ich weiß, es ist nicht möglich, Erben von Konstruktoren in C#, aber es ist wahrscheinlich ein Weg, das zu tun, was ich tun will. Ich habe eine Basisklasse geerbt wird, die von vielen anderen Klassen, und es

Wo fügen Sie Partitionen für die gesamte Anwendung in Rails ein?

Anzahl der Antworten 6 Antworten
Wo würde ich mich über die Platzierung teilweise freigegebenen Dateien durch mehr als ein Modell? Ich habe eine Seite namens crop.html.erb für ein Modell - Photo. Jetzt würde ich Sie gerne für ein anderes Modell, das sogenannte

Ist es möglich, eine Masterseite zwischen MVC und Webforms zu teilen?

Anzahl der Antworten 3 Antworten
Ich bin das hinzufügen von MVC zu einem Projekt, das VIELE ältere webform Seiten. Dies funktioniert sehr gut. Jedoch, ich haben derzeit eine separate masterpage für MVC und für die webforms. Die beiden master-Seiten produzieren im wesentlichen

Wie elegant symbolize_keys für einen 'geschachtelten' Hash

Anzahl der Antworten 6 Antworten
Betrachten Sie den folgenden code: hash1 = {"one" => 1, "two" => 2, "three" => 3} hash2 = hash1.reduce({}){ |h, (k,v)| h.merge(k => hash1) } hash3 = hash2.reduce({}){ |h, (k,v)| h.merge(k => hash2) } hash4 = hash3.reduce({}){

DRY-Ruby-Initialisierung mit Hash-Argument

Anzahl der Antworten 6 Antworten
Ich finde mich mit hash-Argumente für Konstruktoren ein bisschen, vor allem beim schreiben von DSLs für die Konfiguration oder andere bits, von API, auf die der Anwender ausgesetzt sein werden. Was ich am Ende tun, ist so

Wie erstelle ich eine Char-Zeichenfolge aus einem C-Makro-Wert?

Anzahl der Antworten 4 Antworten
Zum Beispiel, wie man vermeiden, schreiben die 'func_name' zweimal? #ifndef TEST_FUN # define TEST_FUN func_name # define TEST_FUN_NAME "func_name" #endif Ich würde gerne auf die Single Point of Truth Regel. Version der C-Präprozessor: $ cpp --version cpp

Rails 3 - Einschränken von Formaten für Aktionen in Ressourcenrouten

Anzahl der Antworten 4 Antworten
Ich habe eine Ressource definiert, die in meinen Strecken. resources :categories Und ich habe Folgendes in meiner Kategorie controller: def show @category = Category.find(params[:id]) respond_to do |format| format.json { render :json => @category } format.xml { render

Wie viel duplizierten Code tolerierst du?

Anzahl der Antworten 13 Antworten
In einem aktuellen review von code sah ich ein paar Zeilen dupliziert Logik in eine Klasse (mit weniger als 15 Zeilen). Als ich vorschlug, dass der Autor überarbeiten Sie den code, mit dem er argumentiert, dass der