CLASSE DE POINT PRÉCIS

Psyllos Messages postés 27 Date d'inscription mardi 7 mai 2002 Statut Membre Dernière intervention 11 avril 2007 - 28 mars 2007 à 16:26
Psyllos Messages postés 27 Date d'inscription mardi 7 mai 2002 Statut Membre Dernière intervention 11 avril 2007 - 11 avril 2007 à 11:33
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/41995-classe-de-point-precis

Psyllos Messages postés 27 Date d'inscription mardi 7 mai 2002 Statut Membre Dernière intervention 11 avril 2007
11 avril 2007 à 11:33
PS : Je viens de regarder plus d'infos sur SandCastle : c'est clair que c'est interessant ! A voir !
http://www.sandcastledocs.com/Wiki%20Pages/Home.aspx
Psyllos Messages postés 27 Date d'inscription mardi 7 mai 2002 Statut Membre Dernière intervention 11 avril 2007
11 avril 2007 à 11:04
Bidou : lol ne le prend pas mal ;-). Je crois qu'il est déjà plus judicieux de rectifier les énormités qu'il y a dans sa classe plutôt que dans la présentation des commentaires.
Toutefois, merci pour ta dernière info (concernant SandCastle parce que je ne le savais pas; cependant ce ne sera pas à la volée mais en 2nde tache comme NDoc - qui fait la même chose je te le confirme - mais certainement avec des fonctionnalités différentes).
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
11 avril 2007 à 10:56
Psyllos> Si on programme en .NET, on met les commentaires qui vont avec et pas des trucs maisons, ça me paraît évident. Pour générer une doc sous forme html par la suite, il existe des softs qui se basent sur le fichier xml généré par visual studio (je crois que c'est le cas de NDoc? jamais testé...).
De plus, dans Orcas, le nouveau Visual Studio toujours prévu pour cette année me semble t'il, il y aura SandCastle qui réglera définitivement ce problème...
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
11 avril 2007 à 09:51
Petite précision... depuis la 2.0 de vb.net, il est possible de mettre des commentaires pour générer la documentation XML... comme en C# (sans utiliser VBCommenter). Il suffit pour cela d'écrire '''<Summary>...</summary>.

Concernant les conventions de nommage : http://blogs.developpeur.org/coq/archive/2006/07/17/22446.aspx
Psyllos Messages postés 27 Date d'inscription mardi 7 mai 2002 Statut Membre Dernière intervention 11 avril 2007
11 avril 2007 à 09:32
Non mais sur ca je suis ok, c'est seulement qu'il ne fait pas croire que c'est Visual Studio qui génère l'aide html ou chm. Visual crée un fichier xml pour c# (pour info: vb.net nécessite VB Commenter). Mais je suis tout à fait d'accord que le code de cet article n'est pas commenté comme il faut et que ca ne fonctionnerai pas pour cette 1ere etape Visual Studio. De plus, je ne pense pas que les commentaires soient l'erreur la plus grave dans ce code.... (cf plus haut les autres remarques)

J'ai pris au hasard un site qui explique les conventions de nommage pour les commentaires .net : http://www.jmdoudoux.fr/microsoft/doctechcsharp/doctechcsharp.htm
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
11 avril 2007 à 09:20
Psyllos, regarde un peu la facon dont est commenté le code, je pense pas que Visual Studio génére un XMl avec cette syntaxe
Psyllos Messages postés 27 Date d'inscription mardi 7 mai 2002 Statut Membre Dernière intervention 11 avril 2007
11 avril 2007 à 09:16
Bidou : je pense que Bizzard4 faisait référence au générateur d'aide et pas du xml qui est généré par Visual...
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
11 avril 2007 à 08:40
Pourquoi utiliser un logiciel annexe alors que Visual Studio fait ça très bien?
Pour la convention, ça dépend des langages de programmation... En .NET en général, les méthodes prennent des majuscules.
bizzard4 Messages postés 155 Date d'inscription vendredi 12 décembre 2003 Statut Membre Dernière intervention 15 février 2009
11 avril 2007 à 02:14
Pour les commentaires. L'explication est simple, il utilise un logiciel pour faire de la documentation automatique. Le nom du logiciel est doxygen.

C'est vraiment utilse pour les programmes où il faut produire un document de programmation complet.

a sebmafate : T'es sûr pour la lettre majuscule? Les normes de programmation que j'ai sous les yeux me dire plutôt de metre la première en minuscule si c'est un "is" "get" "set" ou autre du même genre.
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
28 mars 2007 à 16:46
Source peu utile, PointF remplissant déjà presque complètement cette tâche. De plus, le code est loin d'être splendide...
Soyons gentil, 5/10
Psyllos Messages postés 27 Date d'inscription mardi 7 mai 2002 Statut Membre Dernière intervention 11 avril 2007
28 mars 2007 à 16:41
Et avec tout le respect que je te dois, ton code n'est vraiment pas un exemple à suivre car il comprend énormément de code inutile et incohérent dont un qui m'a particulièrement marqué (et fait un peu rire je dois l'avouer) :
"return Math.Sqrt(max(a, b) + min(a, b));"
hum... hum... je suis pas devin mais grosso modo ca doit donner "return Math.Sqrt(a + b);"
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
28 mars 2007 à 16:37
Mince, grillé par seb ^^
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
28 mars 2007 à 16:36
lol... Mx :p
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
28 mars 2007 à 16:35
Salut,

Quelques remarques en regardant le code:
- Utilises String.Format plutot que return x + " " + y dans ToString();
- En C#, par convention on écrit les noms des méthodes en CamelCase
- Dans tes méthodes MiddlePoint, tu fais des casts en float pour rien ;)
- Tu peux optimiser tes fonctions, par exemple :

IsEqual :
public bool IsEqual(PrecisePoint p)
{
return (this.x p.x) && (this.y p.y);
}

IsEQualX :
public bool IsEqualX(PrecisePoint p)
{
return this.x == p.x;
}

Max :
private static double Max(double x1, double x2)
{
return x1 > x2 ? x1 : x2;
}

Cela te fait gagner quelques instructions IL

- Pour ce qui est des commentaires, pourquoi n'utilises-tu pas celle de .NEt ? (fais préceder tes méthodes par '///' ). En fait, ca + le nom des méthodes me font penser que tu viens du java ;)

Voilà, en espérant que cela puisse t'aider.
Bonne continuation
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
28 mars 2007 à 16:34
J'oubliais...
A la place de ca :
if (this.X == p.X)
return true;
else
return false;

tu peux écrire : return (this.X == p.X);
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
28 mars 2007 à 16:29
Quelques petites remarque purement esthétique concernant l'écriture.

En c# (et .net en général), le nom des méthodes et des propriétés commencent par une majuscule... c'est du moins ce qui est conseillé par Microsoft et ce qui est appliqué dans le monde professionnel.

Ta classe se veut "proche" de Point... alors pourquoi ne pas avoir écrit une struct ?

Pourquoi avoir écrit une méthode isEqual, alors qu'il suffisait de surcharger la méthode Equals ?

Pour avoir écrit 2 méthodes max et min ? Il existe Math.Max et Math.Min.

Enfin, apparement tu viens du monde Java (ça se voit aux commentaires), en C# pour commenter le code, on utilise les commentaires XML : ///<sumary>blabla</summary>

Voila... bonne prog !
Psyllos Messages postés 27 Date d'inscription mardi 7 mai 2002 Statut Membre Dernière intervention 11 avril 2007
28 mars 2007 à 16:26
Juste à titre indicatif, regarde la classe System.Drawing.PointF.