Question

Y at-il une mesure qui peut aider à déterminer l'objet d'un système orientation vers ou de l'application? Je l'ai vu quelques jolies mesures dans les nettes Add-ins NET Reflector CodePlex projet, mais rien comme ça encore. Si une telle mesure n'existe pas, serait-il même possible ou utile? Il y a les 3 principes supposés de la programmation orientée objet: encapsulation, héritage et le polymorphisme; un outil qui classe les programmes contre ceux-ci pourraient être en mesure de montrer les zones d'un C # (ou similaire) base de code où l'ensemble idéal orienté objet a été mis au rebut, et peut-être combien de bogues sont associés à cette région par rapport au reste du projet.

Était-ce utile?

La solution

Une interprétation significative d'une bonne conception orientée objet est que les objets dans une carte de conception logique et cohérente à des objets en cours de modélisation du domaine. L'interprétation de cette demande une connaissance approfondie du problème que vous essayez de résoudre, y compris le contexte général. métriques automatiques sont pas assez sophistiqué pour comprendre le contexte de cette façon.


En réponse au commentaire, je pensais que j'élargirais un peu:

Le point principal que j'espérais faire est que OO n'est pas 'encapsulation, héritage et le polymorphisme. Ce ne sont que des outils qui permettent la modélisation d'un problème comme des objets qui interagissent de manière bien définies. Si vous voulez une bonne mesure, vous devez comprendre ce que vous êtes vraiment essayer de mesurer. On dirait que vous essayez de valider une notion de « sensation gut » de la qualité du code avec une métrique pour sauvegarder le sentiment. Si tel est le cas, quelle est la véritable préoccupation sous-jacente? Craignez-vous que le code est fragile et susceptible de se casser facilement en raison des effets secondaires inattendus? le modèle d'objet est trop fragmenté et difficile à suivre? Les objets individuels trop grands pour comprendre et maintenir? Si vous pouvez mieux définir les types de défauts que vous espérez pour identifier, il vous aidera à trouver des mesures appropriées. Dans le cas où ils sont utiles, voici un ensemble utile mesures .

Autres conseils

Jetez un oeil à 82 définitions métriques de code pris en charge par l'outil NDepend pour .NET les développeurs.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top