Ich bin ein Programmierer mit mehrjähriger Erfahrung. Mir wurde klar, dass ich eine bestimmte Angewohnheit hatte. Ich bin mir nicht sicher, ob es wirklich eine schlechte Angewohnheit ist oder nicht.
Ich bekomme eine Liste von Aufgaben, die ich für eine Lösung ausführen muss, auch kleine Aufgaben, zum Beispiel:
- Ändern Sie die Ressourcen dieses Benutzersteuerelements
- Ändern Sie die Größe eines anderen
- Fügen Sie etwas HTML und Code für ein anderes Benutzersteuerelement hinzu
Alle diese Aufgaben sind klein. Ich meine, sie sind innerhalb von 10 Minuten fertig, aber ich habe die schlechte Angewohnheit, kleine Änderungen vorzunehmen und sie dann immer wieder in einem Webbrowser zu testen . Ist das eine gute Übung?
Oder soll ich sie alle auf einmal ausführen und dann gemeinsam testen?
Wenn es wirklich eine schlechte Angewohnheit ist, wie kann ich sie dann korrigieren, da es sich anfühlt, Zeit zu verschwenden, um kleine Änderungen immer wieder zu testen?
quelle
Antworten:
quelle
What you see is what you get
Tools für Entwickler entwickelt, die mit HTML, CSS, Widget usw. arbeiten.Es ist keine schlechte Sache, viele kleine Änderungen vorzunehmen und jede zu testen. Auf diese Weise können Sie die Auswirkungen jeder Änderung sehen. Wenn dann eine Änderung ein Problem verursacht, ist es viel einfacher zu erkennen, welche Änderung Probleme verursacht hat - die aktuellste!
Wenn Sie eine Aufgabenliste mit 10 Elementen haben und alle auf einmal ausführen und dann die Seite testen und feststellen, dass die Seite falsch aussieht, ist es möglicherweise schwieriger zu wissen, welche Änderung die Seite beschädigt hat.
Natürlich ist es möglich, diesen Ansatz bis zum Äußersten zu verfolgen. Gleichgewicht zu finden, ist der Schlüssel, und das bringt ein besseres Verständnis dafür mit sich, was Sie ändern und wie sich die Änderungen gegenseitig beeinflussen können.
quelle
Ihre Frage besteht aus zwei Teilen:
Ich gehe davon aus, dass Sie ein VCS verwenden .
Und um zu verfolgen, welche Aufgaben erledigt wurden, ist es sinnvoll, die Aufgabenliste auf eine Liste von Festschreibungen zu verteilen: eine Aufgabe, eine Festschreibung .
Das macht es einfach, verschiedene Versionen der aktuellen Codebasis zu verwalten. Sie könnten zu einem früheren Zustand zurückkehren, die Änderungen auswählen, die Sie in den Hauptstamm eingeben möchten, usw.
Die Antwort ist klar:
Nein, nehmen Sie Änderungen nur einzeln vor - eine Aufgabe pro Commit .
Es ist eine gute Praxis - Test - Code / UI , was auch immer , aber es ist Unsinn es über zu tun und immer wieder in den Browser. Es gibt Tools, die das automatisch für Sie erledigen ( Selen, PhantomJS / Casper, ZombieJS )
Die Antwort für diesen Fall lautet:
Ja, es ist eine gute Praxis, Software mehrmals zu testen, aber die Automatisierung zu verwenden
quelle
Für jede Gewohnheit eines Entwicklers gibt es zwei Hauptfragen:
Wenn die Antwort auf beides "Es macht es besser" ist, mach es dir zur Gewohnheit, es anderen beizubringen!
Wenn die Antwort auf eine Frage "Besser" und auf die andere "Schlechter" lautet, dann ist das ein Stil, und Sie müssen sich dessen bewusst sein. Es ist nicht immer anwendbar, und Sie müssen sich möglicherweise ab und zu anstrengen, um es zu unterdrücken.
Wenn die Antwort auf beide Fragen "Negativ" lautet, liegt ein ernstes Problem vor.
Natürlich sollten Sie in den ersten beiden Fällen auch überlegen, ob der positive Effekt irgendwie automatisiert oder institutionalisiert werden kann. Vielleicht ist es besser, einen Test zu schreiben, als jedes Mal andere Browser auszuprobieren? (Beachten Sie, ich weiß, dass es nicht so einfach ist, das richtige Layout in der Webentwicklung zu testen. Ich sage nicht, dass dies immer möglich oder die Zeit wert ist.)
In diesem speziellen Fall scheint es mir , dass die Qualität erhöht, die Produktivität wird verringert. Für kleine Änderungen ist es wahrscheinlich ein bisschen schlecht (besonders wenn die Änderungen miteinander zusammenhängen), für größere - es ist ein bisschen gut. Solange Sie auch das Endresultat testen (vermeiden Sie, dass "jedes Modul getestet wurde und funktioniert, damit das Ganze auch funktioniert, Sie müssen es nicht testen!").
Daher - es sei denn, 90% Ihres Arbeitstages machen wirklich kleine Änderungen - ist es eine gute Gewohnheit zu haben. Wenn Ihr Arbeitstag so ist, möchten Sie vielleicht Ihren Arbeitsstil (oder Ihren Arbeitsplatz) überprüfen.
quelle
Dies hängt von der Domain ab. Das Layout einer Webseite funktioniert einwandfrei und Sie können sofort eine Rückmeldung erhalten (Sie können dies sogar direkt im Browser tun!). Ebenso würde es gut für alles funktionieren, was nicht lange Zeit zum Initialisieren benötigt. Dies wird bevorzugt, da es Ihre mentale Arbeitsbelastung gering hält und die Möglichkeit von Fehlern verringert.
Bei wirklich großen Projekten, bei denen Sie den Code kompilieren müssen und die benötigte Zeit nicht trivial ist (mehrere Minuten), kann dies jedoch zu einer erheblichen Ausfallzeit führen, sodass Sie häufig auf Folgendes zurückgreifen müssen:
(Es gibt wahrscheinlich auch andere Möglichkeiten.)
quelle
Wie andere gesagt haben, ist dies definitiv keine schlechte Angewohnheit. Im Allgemeinen bevorzuge ich es, nur ein paar Änderungen auf einmal vorzunehmen. Die einzige Ausnahme ist, wenn ich eine große Liste von Änderungen habe, die sich nicht alle gegenseitig beeinflussen (z. B. Änderungen an kleineren Stilen oder Kopien, Änderungen auf verschiedenen Seiten usw.). Wenn Sie Layouts ändern, bleiben Sie bei den einzelnen Änderungen, damit Sie überprüfen können, ob in allen unterstützten Browsern 100% vorhanden sind, bevor Sie mit der nächsten Ausgabe fortfahren.
quelle