GithubHelp home page GithubHelp logo

horlogedeberlin's Introduction

HorlogeDeBerlin

introduction

L'implementation du code à été fait via la méthode TDD, mon collègue (Alexandre Pronce) a eu des problèmes de version php, ce qui fait que je suis la seule à avoir fait des commits, mais durant tout le temps passé à coder, il était présent en vocal avec moi, et je partageais mon écran, il voyait donc tout ce que j'écrivais et me corrigeait quand celà était nécéssaire.

implémentation

Pour ce qui est de l'implémentation, nous avons décidé d'afficher des indexes de tableau.
Nous avons 4 tableau de string pré-remplis avec les valeurs que nous affichons entre "[]".

Nous n'affichons que ce qui est "allumé" sur l'horloge, je m'explique :

Prenons un exemple : 11h42 et 3 secondes, l'horloge affichera ceci :

OFF
[5hours][10hours]
[1st hour]
[5min][10min][15MIN][20min][25min][30MIN][35min][40min]
[1st Minute][2nd Minute]

mais quelques explications s'imposent :

OFF  --> 3 secondes, c'est impair donc ampoule éteinte.
[5hours][10hours]   --> 10 heures, 2 ampoules sur 4 sont allumées.
[1st hour]          --> 1 heure, 1 ampoule sur 4 est allumées.
[5min][10min][15MIN][20min][25min][30MIN][35min][40min]   --> 40 minutes, 8 ampoules allumées sur les 11 au total.
[1st Minute][2nd Minute]  --> 2 minutes, 2 ampoules allumées sur les 4.

(selon le schéma de l'horloge de berlin)

picture

pour ce qui est des 11 ampoules "5 minutes" (dont l'ampoule des 15, 30 et 45 minutes sont rouges) nous avons représenté cette "différence de couleur" par des majuscules dans les tableaux :

[5min][10min][15MIN][20min][25min][30MIN][35min][40min]

implémentation des tests unitaires (classe de test)

Pour l'implémentation des tests unitiares, nous avons d'abord commencé par tester les mintutes simples une par une jusqu'à la 10ième minute. A chaque nouveau test, nous modifions la méthode testée afin qu'elle corresponde à ce nouveau test mais également aux précédents. A la fin du dixième test unitaire (pour les minutes simples), nous avons remarqué qu'il était possible de réfactorer cette méthode, de l'implémenter différemment de telle sorte qu'elle convienne pour tous les tests unitaire possibles. Aussi bien pour les cas généraux que pour les cas particuliers.

Nous avonc procédé de la même façon pour implémenter les autres méthodes, en commençant par tester un par un les résultats renvoyés par la méthode et ensuite en l'implémentant de manière plus générale.

conclusion

j'espère que ces informations vous aideront à la compréhension de notre code :)

j'ai codé une version de l'horloge de berlin en java pour le fun (le code est loin d'être propre... désolé pour ça :/ )

Merci et bonne lecture ! :) ETIENNE Lorine et PRONCE Alexandre 2I2

horlogedeberlin's People

Contributors

alexandrepronce avatar arainylaz avatar

Watchers

 avatar  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.