3 Stimmen

Ist diese Art der Webentwicklung für den Arbeitsplatz geeignet?

Ich arbeite bei einem Webentwicklungsunternehmen (seit einem halben Jahr), es ist mein erster Arbeitsplatz. Aber eine Sache, die wir dort machen, stört mich ziemlich. Also wollte ich Input von erfahreneren Leuten bekommen. Ich bin mir nicht sicher, ob dies der beste Ort ist, um zu fragen, aber ich hoffe, dass die Antworten auf diese Frage auch für andere nützlich und interessant sein könnten.

Meine hauptsächliche und wahrscheinlich einzige Unzufriedenheit mit dem Job rührt daher, dass wir in ein Live-System übertragen (wir haben ein Webportal, das mit php und mysql arbeitet), d.h. ich übertrage den Code und die Änderungen sind sofort online sichtbar. Bei kleinen oder schnell erkennbaren Fehlern ist das keine große Sache. Aber es ist ein großes Problem, wenn sich ein hässlicher Fehler einschleicht, z.B. wenn Links an einer Stelle falsch generiert werden und man eine Seite mit zwei verschiedenen URLs erreichen kann (Hits Pages Rank...), ist es leicht, solche Dinge für einige Tage zu übersehen. (Oder doch? Vielleicht bin ich einfach nicht vorsichtig genug?) Aber ich versuche wirklich, alles zu überprüfen, bevor ich es festlege, und wir verwenden auch phpunit und selenium (die Tests werden von derselben Person geschrieben, die den Code schreibt, nachdem sie den Code geschrieben hat) zum Testen (obwohl die Testabdeckung größer sein könnte).

Meine Frage ist also: Ist es üblich, bei der Webentwicklung Übertragungen direkt an das Online-System vorzunehmen?

7voto

Martin Buberl Punkte 43442

Das ist leider gängige Praxis bei vielen neuen Medienagenturen und Start-ups (ich habe das schon oft gesehen, und es brennt mir in den Augen), aber es ist keineswegs beste Praxis .

Eine gute Praxis wäre, einen Entwicklungsserver zu haben, einen Bereitstellungsort und eine produktive/lebendige Website.

3voto

Amokrane Chentir Punkte 29190

Ganz bestimmt nicht!

Das häufigste Szenario ist, dass es mindestens 3/4 Umgebungen gibt:

  • Entwicklungsumgebung: Jeder Entwickler nimmt seine eigenen Änderungen vor und führt seine Tests in seiner persönlichen Umgebung durch.

  • Integrationsumgebung: Alle Komponenten der Anwendung werden zusammengeführt, so dass jeder sehen kann, ob alles in Ordnung ist. Achten Sie auf Urknall-Integration Allerdings.

  • Beta-Test-Umgebung: Wenn in der Integrationsphase alles behoben und überprüft wurde, geht man in die Beta-Testphase über. Wenn es dafür kein spezielles Team gibt, wird dies oft von den Entwicklern durchgeführt (jeder Entwickler testet die von anderen erstellten Funktionen, um offensichtliche subjektive Probleme zu vermeiden).

  • Produktionsumgebung: Was der Kunde verwendet.

Dies ist, was ich aus meiner sehr kurzen Erfahrung (5 Monate Praktikum) gelernt habe, ich hoffe, es hilft!

1voto

nickmoriarty Punkte 1253

Das ist keine sehr gute Praxis. Bei den meisten meiner Aufträge gibt es eine Testseite, die eine Kopie der Live-Seite ist, und der Code wird dort zuerst eingegeben und getestet. Wenn es auf der Testseite keine Probleme gibt, kann der Code auf die Live-Site übertragen werden. Die direkte Übertragung auf die Live-Site kann zu Fehlern führen, die durch die Übertragung auf eine Test-Site hätten vermieden werden können.

1voto

Gent Punkte 2575

Dies ist für die meisten kundenorientierten Webanwendungen keine gute Idee. Wenn die Website kaum genutzt wird oder nur intern ist, ist es jedoch üblich, direkt in die Produktionsumgebung zu übertragen/veröffentlichen, wenn das Unternehmen keine Testressourcen für etwas mit geringer Sichtbarkeit bereitstellen möchte.

1voto

Jevgenij Evll Punkte 1892

Auf den ersten Blick scheint dies eine schlechte Praxis zu sein.

Aber bedenken Sie Folgendes. Wenn ein Unternehmen klein ist und nicht über ein Testteam oder zumindest nicht über genügend Entwickler verfügt, die für zusätzliche Tests des von anderen Entwicklern übertragenen Codes eingesetzt werden könnten, würde eine Test-Sandbox dazu führen, dass ein Entwickler den Code auf seinem Rechner testet, dann überträgt, den SELBEN Test in der Sandbox durchführt (wenn der Test manuell erfolgt, wird er beim zweiten Mal mit Sicherheit weniger gründlich sein; stellen Sie sich vor, Sie müssten dieselbe manuelle Testaufgabe zwei Mal hintereinander durchführen) und dann die Änderungen in die Produktionsumgebung überträgt. Wie hoch sind die Chancen, einen Fehler in der Sandbox zu finden, wenn der Entwickler ihn auf dem lokalen Rechner nicht gefunden hat?

Außerdem wird es immer Unterschiede zwischen der Sandbox und der Produktionsumgebung geben. Wenn also Code in der Sandbox funktioniert, ist das keine Garantie dafür, dass er auch in der Produktion funktioniert.

Schließlich sind auch die Kosten für die Wartung der Testumgebung zu berücksichtigen. Bei schnell wachsenden Projekten mit kleinen Teams ist das einfach nicht möglich.

Wenn das Team also sehr klein ist, ist die Übergabe an die Produktion mit vielen lokalen Tests der bevorzugte Weg. Andernfalls wird das Kopieren von Code von einem Ort zum anderen und das Testen durch dieselbe Person zu frustrierend, zeitaufwendig und nutzlos sein.

Wenn Testressourcen vorhanden sind, sollten Sie natürlich eine zusätzliche Testumgebung in Betracht ziehen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X