Upgrade to Pro — share decks privately, control downloads, hide ads and more …

2021 LightningTalk: Naming is hard

Avatar for elena_at_cosee elena_at_cosee
December 01, 2021
56

2021 LightningTalk: Naming is hard

Was kann schon schiefgehen, wenn man im Vier-Augen-System Legacy-Code refactort, um Redundanzen darin abzubauen? Aus Elenas Erfahrung hängt das stark davon ab, ob der Code tatsächlich redundant ist oder aufgrund von Variablennamen nur so aussieht.

Avatar for elena_at_cosee

elena_at_cosee

December 01, 2021

Transcript

  1. • Suchmaschine, die Suchwörter und Ortssuchen unterstützt. • User können

    Ergebnis-E-Mails abonnieren, die sie zugeschickt bekommen, wenn es neue Ergebnisse gibt. Der Kontext https://www.ebay-kleinanzeigen.de/
  2. Der Hintergrund Die Berechnung eines Suchergebnisses verwendet mehrere DocumentIdSets: •

    zuerst einen pro Suchparameter, • dann einen weiteren als Endergebnis.
  3. Der Hintergrund: Optimierung Wenn ein Suchparameter nicht angefordert ist, soll

    danach nicht gefiltert werden. Optimierung: • Den Filterungsteil der Logik lassen wir weg, geht schneller.
  4. Der Fuckup Durch das Refactoring fällt ein wichtiger Unterschied weg:

    • es gibt keine Ortssuche ◦ “Finde alle Spiegelschränke, egal von wo!” • die Ortssuche produziert keine Ergebnisse ◦ “Finde alle Spiegelschränke im Lautertal!” ◦ “Es gibt aber keine Angebote im Lautertal. 🙁”
  5. Take-Aways • Legacy-Code ist doof. • Dinge benennen ist schwierig,

    aber wichtig. • Wenn du mit Legacy-Code arbeitest, lass dich nicht von Namen verwirren... ◦ … oder schlimmer, in falscher Sicherheit wiegen!