Historique des modifications - Message

Message #2443

Sujet: C# Irrlicht.NET CP 0.8 : loader de modèles DXS


Type Date Auteur Contenu
Dernière modification 23-06-2007 10:45:20 Ravine
hehe, merci beaucoup Aranoth. Avec ça et le loader de ilbuzzo (celui en C++) je devrais pouvoir me dépatouiller pour intégrer ça a mon projet. smile


EDIT : bon je vais passer pour un grincheux, mais je vais te donner un conseil "pour plus tard" : prends l'habitude de commenter ton code. Pas juste des summary sur les fields des classes. exemple : un "// Identifiant" sur un "public int Id" par exemple est inutile. Deja parce que le nom du field est "autodescriptif" (dans la mesure du possible), donc ce commentaire est redondant, et n'apporte aucune indication sur l'utilité du champ.

Ensuite, toutes tes méthodes ne sont pas commentées. En tant que développeur, j'aime bien ne pas perdre du temps a lire le code pour savoir ce qu'il fait. C'est là qu'un ///<summary> serait le bienvenu, pour décrire rapidos le fonctionnement de la méthode, expliquer succintement comment tu geres tel ou tel truc.

Je dis pas que c'est du mauvais code, mais reviens y dans un an, et tu vas etre réticent a te replonger dedans pour lire ton code pour essayer de te souvenir comment tu as fait. Le commentaire est là pour te servir, et pour servir à ceux qui te liront.

Sinon le code ? J'y retourne. Et comme j'avais deja ecrit des trucs pour ça, je vais etudier les sections sur l'intégration dans irrlicht, et retoucher mes classes smile.


tiens, un exemple de code "bien" commenté (extrait des sources du wrapper .NetCP)

        /// <summary>
        /// Creates a copy of the mesh, which will only consist of S3DVertexTangents vertices. 
        /// This is useful if you want to draw tangent space normal mapped geometry because it calculates the tangent and binormal data which is needed there. 
        /// </summary>
        /// <param name="baseMesh">Input mesh</param>
        /// <returns>Mesh consiting only of S3DVertexTangents vertices.</returns>
        public Mesh CreateMeshWithTangents(Mesh baseMesh)
        {
            return (Mesh)
                NativeElement.GetObject(MeshManipulator_CreateMeshWithTangents(_raw, baseMesh.Raw),
                                        typeof(Mesh));
        }

d'autant plus interessant qu'il prends en compte les spécificités de .Net et de ses capacité de gestion de création de documentation. Le summary apparaitra dans l'intellisense. Les <param name> feront apparaitre la descrition des parametres formels dans l'intellisense quand on navigue dans les parametres. Là, j'ai pas besoin de lire le code pour savoir comment l'utiliser ni pour savoir ce que ça fait smile

No offense hein, mais bon, je suis en croisade contre les codes non commentés smile
Création du message 23-06-2007 08:54:58 Ravine
hehe, merci beaucoup Aranoth. Avec ça et le loader de ilbuzzo (celui en C++) je devrais pouvoir me dépatouiller pour intégrer ça a mon projet. smile


EDIT : bon je vais passer pour un grincheux, mais je vais te donner un conseil "pour plus tard" : prends l'habitude de commenter ton code. Pas juste des summary sur les fields des classes. exemple : un "// Identifiant" sur un "public int Id" par exemple est inutile. Deja parce que le nom du field est "autodescriptif" (dans la mesure du possible), donc ce commentaire est redondant, et n'apporte aucune indication sur l'utilité du champ.

Ensuite, toutes tes méthodes ne sont pas commentées. En tant que développeur, j'aime bien ne pas perdre du temps a lire le code pour savoir ce qu'il fait. C'est là qu'un ///<summary> serait le bienvenu, pour décrire rapidos le fonctionnement de la méthode, expliquer succintement comment tu geres tel ou tel truc.

Je dis pas que c'est du mauvais code, mais reviens y dans un an, et tu vas etre réticent a te replonger dedans pour lire ton code pour essayer de te souvenir comment tu as fait. Le commentaire est là pour te servir, et pour servir à ceux qui te liront.

Sinon le code ? J'y retourne. Et comme j'avais deja ecrit des trucs pour ça, je vais etudier les sections sur l'intégration dans irrlicht, et retoucher mes classes smile.


tiens, un exemple de code "bien" commenté (extrait des sources du wrapper .NetCP)

        /// <summary>
        /// Creates a copy of the mesh, which will only consist of S3DVertexTangents vertices. 
        /// This is useful if you want to draw tangent space normal mapped geometry because it calculates the tangent and binormal data which is needed there. 
        /// </summary>
        /// <param name="baseMesh">Input mesh</param>
        /// <returns>Mesh consiting only of S3DVertexTangents vertices.</returns>
        public Mesh CreateMeshWithTangents(Mesh baseMesh)
        {
            return (Mesh)
                NativeElement.GetObject(MeshManipulator_CreateMeshWithTangents(_raw, baseMesh.Raw),
                                        typeof(Mesh));
        }

d'autant plus interessant qu'il prends en compte les spécificités de .Net et de ses capacité de gestion de création de documentation. Le summary apparaitra dans l'intellisense. Les <param name> feront apparaitre la descrition des parametres formels dans l'intellisense quand on navigue dans les parametres. Là, j'ai pas besoin de lire le code pour savoir comment l'utiliser ni pour savoir ce que ça fait smile

No offense hein, mais bon, je suis en croisade contre les codes non commentés smile

Retour

Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
151 invités en ligne
membre en ligne: -
RSS Feed