Bon exemple de calculatrice

Soyez le premier à donner votre avis sur cette source.

Vue 422 fois - Téléchargée 56 fois

Description

Il y a de nombreux codes sources de calculatrices en C# ou VB.Net.

Les projets de calculatrices, sont des exercices de débutant.
Les codes que l'ont trouve, reflètent donc le niveau du codeur à ce moment de sa formation.
Par conséquents, ces codes présentent tous (enfin ceux que j'ai regardé) des défauts de débutants.
Ils sont généralement fonctionnels, et répondent certainement à la demande du professeur ou cours en ligne que suit le débutant.
Mais CodeS SourceS n'a pas vocation à montrer le résultat d'un exercice.
CodeS SourceS a vocation à montrer ce qu'il faudrait faire.

Ces codes enfreignent souvent quelques précepts généraux de la programmation.
Le principal est la duplication de code.
Il y a un code complet pour la touche "0", et un code pour la touche "1" etc...
Cependant au chiffre près ces codes sont identiques.
On a donc 10 codes quasiments identiques, ça prend du temps à écrire et s'il y a une erreur, il faudra la corriger 10 fois.
Il faut donc factoriser ce code de façon à avoir en paramètre le chiffre à saisir.
Un autre principe souvent oublié est la réutisabilité du code.
En effet, souvent le code est directement écrit dans l'interface, si on veut faire une autre calcultrice et bien on ne pourra pas réutiliser le code directement.
Il faudra en copier un bout ici et en réécrire un bout là.

De plus, C# et VB.Net sont des langages objets, et là encore des principes de la programmation objet ne sont pas appliqués.
Bien souvent, il n'y a pas d'objet métier (c'est l'idée de base....)
En plus un objet métier bien écrit, résout automatiquement les problèmes de duplication et de réutilisabilité.

C'est ce que je veux montrer avec ce dépôt.

Il y a un projet "dll" qui contient le code métier, la dll c'est pas obligé, mais comme j'ai fait 3 interfaces différentes, c'était plus simple.
Pour les interfaces, il y en à une en mode console, une en Winform et une en WPF.
Dans l'interface Winform les "chiffres" pointent tous vers une seule méthodes coté interfaces, idem pour les opérateurs.
Dans l'interface WPF, j'ai factorisé un peu plus, tous les boutons pointent vers une méthode unique.
Pour choisir quelle interface lancé, il faut définir le projet de démarage avec un clic droit sur le nom du projet dans l'explorateur de solution


Il y a un autre point qui me chagrine dans les dépots de débutant.
La saisie est construite comme du texte, on ajoute un caractère, puis un autre ect...
Sans être un défaut, ça ne me parrait pas logique, on calcules avec des nombres pas du texte.
Et puis si on construit le texte avec un point comme symbole décimal, il faut gérer les pc ou c'est la virgule qui est utilisée.
Aussi, il faut vérifier qu'un point n'a pas déjà été saisie.
J'ai donc construit ma saisie avec des nombres, et bindé l'affichage pour les interfaces fenétrées, comme ça pas de soucis avec le symbole décimal.

Cet exemple n'est pas complet, il ne montre que les 4 opérations de base.
On pourrait le recoder de 1000 façons différentes, tout en appliquant correctement les principes que j'ai cité.
Mais c'est un exemple de "ce qu'il faudrait faire"

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Commenter la réponse de Whismeril

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.