Psyllos
Messages postés27Date d'inscriptionmardi 7 mai 2002StatutMembreDernière intervention11 avril 2007
-
28 mars 2007 à 16:26
Psyllos
Messages postés27Date d'inscriptionmardi 7 mai 2002StatutMembreDernière intervention11 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.
Psyllos
Messages postés27Date d'inscriptionmardi 7 mai 2002StatutMembreDernière intervention11 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és5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 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és4936Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention14 février 201437 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>.
Psyllos
Messages postés27Date d'inscriptionmardi 7 mai 2002StatutMembreDernière intervention11 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)
MorpionMx
Messages postés3466Date d'inscriptionlundi 16 octobre 2000StatutMembreDernière intervention30 octobre 200857 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és27Date d'inscriptionmardi 7 mai 2002StatutMembreDernière intervention11 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és5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 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és155Date d'inscriptionvendredi 12 décembre 2003StatutMembreDernière intervention15 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és5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 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és27Date d'inscriptionmardi 7 mai 2002StatutMembreDernière intervention11 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és3466Date d'inscriptionlundi 16 octobre 2000StatutMembreDernière intervention30 octobre 200857 28 mars 2007 à 16:37
Mince, grillé par seb ^^
sebmafate
Messages postés4936Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention14 février 201437 28 mars 2007 à 16:36
lol... Mx :p
MorpionMx
Messages postés3466Date d'inscriptionlundi 16 octobre 2000StatutMembreDernière intervention30 octobre 200857 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 :
- 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és4936Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention14 février 201437 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és4936Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention14 février 201437 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és27Date d'inscriptionmardi 7 mai 2002StatutMembreDernière intervention11 avril 2007 28 mars 2007 à 16:26
Juste à titre indicatif, regarde la classe System.Drawing.PointF.
11 avril 2007 à 11:33
http://www.sandcastledocs.com/Wiki%20Pages/Home.aspx
11 avril 2007 à 11:04
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).
11 avril 2007 à 10:56
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...
11 avril 2007 à 09:51
Concernant les conventions de nommage : http://blogs.developpeur.org/coq/archive/2006/07/17/22446.aspx
11 avril 2007 à 09:32
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
11 avril 2007 à 09:20
11 avril 2007 à 09:16
11 avril 2007 à 08:40
Pour la convention, ça dépend des langages de programmation... En .NET en général, les méthodes prennent des majuscules.
11 avril 2007 à 02:14
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.
28 mars 2007 à 16:46
Soyons gentil, 5/10
28 mars 2007 à 16:41
"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);"
28 mars 2007 à 16:37
28 mars 2007 à 16:36
28 mars 2007 à 16:35
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
28 mars 2007 à 16:34
A la place de ca :
if (this.X == p.X)
return true;
else
return false;
tu peux écrire : return (this.X == p.X);
28 mars 2007 à 16:29
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 !
28 mars 2007 à 16:26