3 votes

Héritage de classe nomenclature

Je veux hériter du contrôle DevExpress ComboBoxEdit, et je me demande si nommer ma classe de la même manière que la classe DevExpress est une mauvaise pratique.

Voici la déclaration de la classe dérivée :

using System;
using System.Collections.Generic;
using System.Text;

namespace MyApplication.Components
{
    public class ComboBoxEdit : DevExpress.XtraEditors.ComboBoxEdit
    {
    }
}

Devrais-je renommer MyApplication.Components.ComboBoxEdit en quelque chose d'autre comme MyComboBoxEdit ?

0voto

Paolo Tedesco Points 22442

Si ce n'est pas confus pour vous (et vos collègues / autres personnes qui travailleront sur l'application), alors il est parfaitement légitime d'utiliser le même nom - c'est pourquoi les espaces de noms existent, après tout.
Sinon, vous voudrez peut-être nommer votre classe en fonction de la raison pour laquelle vous étendez celle de base, par exemple ComboBoxEditThatAlsoDoesThisAndThat, plutôt que d'utiliser le préfixe générique My...

0voto

Austin Salonen Points 28057

Je déconseillerais également de risquer une collision de noms. En ce qui concerne le nom, si vous avez une raison de créer un contrôle hérité, alors vous devriez être en mesure de donner un nom utile.

Le préfixe My est très limitant et a peu de valeur pour les nouveaux venus lisant le code. Vous risquez également de vous retrouver avec MyComboBox2 lorsque vous en aurez besoin d'un nouveau.

0voto

ahawker Points 1761

Il n'y a rien d'illégal à cela, mais si vous vous retrouvez avec une déclaration using comme celle-ci dans un fichier différent, vous rencontrerez des problèmes.

using DevExpress.XtraEditors;

Ensuite, vous finirez par enfouir le nom de la classe dans Intellisense (puisque deux classes ont le même nom); vous devrez donc spécifier explicitement la classe que vous utilisez.

Je suppose... je n'ai jamais utilisé Dev Express. Je ne sais pas si XtraEditors est un espace de noms.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X