Minimum Viable Programming

Ein Beispiel für einen solchen Fehler: Wenn ein Nutzer oder eine Nutzerin mehr als 50 Kontakte hatte, wurden nur die ersten 50 in der App angezeigt. Auf alle anderen konnte nicht zugegriffen werden. Es stellte sich heraus, dass eine unserer SaaS-Integrationen mit einer Paginierung arbeitete und die Entwickler Code implementiert hatten, bei dem nur die erste Seite der Ergebnisse angezeigt wurde.

Stellenmarkt
  1. Doktorand*in (d/m/w) Process Mining
    OSRAM GmbH, Regensburg
  2. Referatsleiter / Referatsleiterin (m/w/d) Anwendungsentwicklung
    Deutsche Gesetzliche Unfallversicherung e.V. (DGUV), Sankt Augustin
Detailsuche

Da dieser Fehler erst bei 51 Kontakten eines einzelnen Nutzers ausgelöst werden konnte und wir noch in der privaten Testphase waren, dauerte es eine Weile, bis wir darauf stießen. Als wir den Fehler gefunden hatten, meldeten wir ihn. Sie haben ihn sofort behoben. Wir testeten ihren Fix und er schien gut zu funktionieren.

Als ich mir den geänderten Code anschaute, wurde mir jedoch klar, wie unsauber ihre Lösung war. Anstatt eine While-Schleife zu verwenden, um alle Seiten zu laden, hatten sie einfach eine If-Bedingung hinzugefügt, um die zweite Seite zu laden. Sobald Nutzer mehr als 100 Kontakte hätten, wäre er der gleiche Fehler wieder aufgetaucht.

Den ersten Fehler hätte man als Versehen entschuldigen können. Der zweite war fahrlässig. Die Entwickler müssen sich gedacht haben, dass wir sehr lange brauchen würden, um die zweite Ergebnisseite auszugeben und noch länger für die dritte. Sie wussten, was sie taten, sie wussten um die Grenzen ihres "Fix", und sie taten es trotzdem. Wenn wir ihren Code nicht sorgfältig untersucht hätten, wäre dieser Fehler auch in die Produktion gelangt.

Keine Versionsgeschichte

Golem Karrierewelt
  1. Cloud Competence Center: Strategien, Roadmap, Governance: virtueller Ein-Tages-Workshop
    26.07.2022, Virtuell
  2. Masterclass Data Science mit Pandas & Python: virtueller Zwei-Tage-Workshop
    29./30.09.2022, Virtuell
Weitere IT-Trainings

Als Entwickler wusste ich aus eigener Erfahrung, wie nützlich eine Versionsgeschichte ist. Sie hilft zukünftigen Entwicklern zu verstehen, warum bestimmte Design-Entscheidungen getroffen wurden und wie bestimmte Funktionalitäten gebaut wurden. Außerdem bietet sie eine Vorlage für ähnliche Funktionen.

Während der Vertragsverhandlungen habe ich deswegen darauf bestanden, dass das endgültige Ergebnis ein Git-Repository sein sollte. Die Entwickler stimmten dem zu und sagten, dass sie auch intern Git verwenden. Als es an der Zeit war, uns den Quellcode zu liefern, schickten sie aber eine einzige Zip-Datei, die eine Mischung aus dem gesamten Quellcode und den generierten Dateien darstellte.

Handbuch für Softwareentwickler: Das Standardwerk für professionelles Software Engineering

Ich erinnerte sie daran, dass sie sich vertraglich verpflichtet hatten, uns ein Git-Repository zur Verfügung zu stellen. Tatsächlich sah ich in der Zip-Datei, die sie uns geschickt hatten, sogar ein .git-Verzeichnis - was darauf hindeutet, dass sie Git für ihre Entwicklung verwendet hatten.

Am nächsten Tag schickten sie uns prompt ein Git-Repository. Es enthielt ein einziges Commit - das aus genau der gleichen Zip-Datei bestand, die wir am Tag zuvor erhalten hatten.

Ich schluckte meinen Ärger darüber herunter und sagte ihnen, dass wir die gesamte Versionsgeschichte haben wollten, nicht nur einen einzigen Commit, der die gleiche Zip-Datei enthielt. Sie antworteten, dass sie einige "sensible Informationen" in ihrem Git-Repository hätten, die nicht für ein externes Publikum bestimmt seien. Daher könnten sie diese nicht mit uns teilen. "Der Vertrag sagt nur, dass wir ein Git-Repository liefern sollen. Er sagt nicht, dass das Repository alle Entwicklungs-Commits und die Versionsgeschichte enthalten soll."

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Technische AnforderungenBewegliche Ziele 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8.  


NoGoodNicks 01. Jul 2021

Mir sagt der ganze Artikel, dass er vermutlich aus Indien berichtet. Warum? - Lohnniveau...

scrumdideldu 12. Jun 2021

Ich habe nichts zum Preis geschrieben! Ich schriebe nur dass der Firmengründer zahlreiche...

osion 08. Jun 2021

Es ist bekannt das Asiaten alles können, aber alles nur viel blabla ist.

Niaxa 03. Jun 2021

Das verdient man bei 160 Stunden und 25¤ hier aber nicht. Zumindest wenn das Unternehmen...



Aktuell auf der Startseite von Golem.de
Ukrainekrieg
Erster Einsatz einer US-Kamikazedrohne dokumentiert

Eine Switchblade-Drohne hat offenbar einen russischen Panzer getroffen. Dessen Besatzung soll sich auf dem Turm mit Alkohol vergnügt haben.

Ukrainekrieg: Erster Einsatz einer US-Kamikazedrohne dokumentiert
Artikel
  1. Heimnetze: Die Masche mit dem Nachbarn
    Heimnetze
    Die Masche mit dem Nachbarn

    Heimnetze sind Inseln mit einer schmalen und einsamen Anbindung zum Internet. Warum eine Öffnung dieser strengen Isolation sinnvoll ist.
    Von Jochen Demmer

  2. Deutsche Bahn: 9-Euro-Ticket gilt nicht in allen Nahverkehrszügen
    Deutsche Bahn  
    9-Euro-Ticket gilt nicht in allen Nahverkehrszügen

    So einfach ist es dann noch nicht: Das 9-Euro-Ticket gilt nicht in allen Zügen, die mit einem Nahverkehrsticket genutzt werden können.

  3. Übernahme: Twitter zahlt Millionenstrafe und Musk schichtet um
    Übernahme
    Twitter zahlt Millionenstrafe und Musk schichtet um

    Die US-Regierung sieht Twitter als Wiederholungstäter bei Datenschutzverstößen und Elon Musk will sich das Geld für die Übernahme nun anders besorgen.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Mindstar (u. a. Palit RTX 3050 Dual 319€, MSI MPG X570 Gaming Plus 119€ und be quiet! Shadow Rock Slim 2 29€) • Days of Play (u. a. PS5-Controller 49,99€) • Viewsonic-Monitore günstiger • Alternate (u. a. Razer Tetra 12€) • Marvel's Avengers PS4 9,99€ • Sharkoon Light² 200 21,99€ [Werbung]
    •  /