Git Product home page Git Product logo

11.2_tdd_email's Introduction

Email Validierung

Einer Ihrer Kollegen hat eine Python-Funktion is_valid_email(email:str) zur Überprüfung von Email-Adressen geschrieben. Die Funktion nutzt Regular Expressions (kurz RegEx), um Muster in String zu finden. RegEx sind ein mächtiges Werkzeug, können aber nur schwer nachvollzogen und gewartet werden, wodurch schnell code-smells ("stinkender Code") entstehen.

Immerhin hat Ihr Kollege daran gedacht, einige Testfälle zu definieren, um die Fähigkeiten seiner Funktion zu überprüfen.

Ziele 🎯

Primär:

  • Clean Code, TDD: Die Begriffe Clean-Code bzw. Code-Smell und Refactoring sind verinnerlicht. Für Clean-Code können mindestens DRY, KISS und YAGNI erläutert werden. Der Zusammenhang zwischen Unit-Tests und Refactoring kann erläutert werden.
  • Die Funktion soll "möglichst viele" gültige und ungültige Email-Adressen korrekt erkennen. Dazu werden die parametrisierte Testfälle erweitert.

Sekundär:

  • Es soll eine weitere Funktion is_valid_password entstehen, die überprüft, ob ein übergebenes Passwort den Anforderungen des BSI entspricht.

Aufgabenstellung

Wiederholen Sie die folgenden Phasen von Test-Driven-Developement so lange, bis die Ziele möglichst erreicht sind.

  1. Betreiben Sie Refactoring! Überarbeiten Sie die Funktion is_valid_email(email:str) so, dass die Funktionalität erhalten bleibt, aber der Code besser lesbarer frei von Code-Smells ist.
  2. Definieren Sie weitere weitere gültige oder ungültige E-Mail-Adressen.
  3. Implementieren Sie eine Erweiterung der Funktion is_valid_email(email:str) so, dass der neue Testfall erfolgreich ist.

Nützliche Links

weniger nützliche Links

11.2_tdd_email's People

Contributors

gsoth avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.