2009-10-25 11 views
0

Tout d'abord, ce n'est pas vraiment une question de programmation. C'est plus une question de "comment puis-je satisfaire les conventions de nommage McConnels?"Comment nommer cette méthode simple?

J'ai cette application Delphi qui manipule des documents Word. L'une des choses que je dois faire est de parcourir tous les signets du document et de supprimer certains d'entre eux en fonction d'une règle simple: Si je travaille actuellement sur un devis je vais supprimer tous les signets dont le nom commence par "cw_orderspecific". Si je travaille sur une confirmation de commande, je vais supprimer tous les signets dont le nom commence par "cw_quotespecific".

La méthode est en place, et tout fonctionne parfaitement, mais j'ai un petit problème. Comment devrais-je appeler ma méthode? Le nom actuel ("DeleteBookmarksNotAllowedForCurrentDocumentType") est trop long.

Des suggestions?

Répondre

2

SupprimerNonRelevantBookmarks?

+1

DeleteIrreverentBookmarks * chuckle * –

+0

Accepté, mais je suis allé avec "DeleteIrrelevantBookmarks". Assez proche :-) –

0

Utiliser des acronymes? Définissez dans les commentaires que CDT est "Type de document actuel" et vous obtiendrez DeleteBookmarks_NotAllowedForCDT. Assez court.

3

changer la fonction de prendre le préfixe à supprimer, appeler DeleteBookmarksWithPrefix:

DeleteBookmarksWithPrefix("cw_quotespecific") 

ou

DeleteBookmarksWithPrefix(otherWorkTypePrefix) 

Cela rend le code très lisible, et il rend la réutilisable fonction dans d'autres circonstances , plutôt que d'être seulement utile pour une tâche très spécifique.

Notez que si vous aurez jamais un troisième type de travail, vous pouvez inverser le sens de celui-ci:

DeleteBookmarksWithoutPrefix(currentWorkTypePrefix) 
+0

+1 pour être une réponse très "correcte". Mais je ne l'accepterai pas. Cette méthode ne sera JAMAIS * JAMAIS modifiée. Eh bien, à moins que le client arrive avec une autre demande. –

+0

Une stratégie qui repose sur le fait que le client * ne propose pas une autre demande est soit très pessimiste (les systèmes réussis ont tendance à conduire à de nouvelles exigences) ou a incorporé la fossilisation, auquel cas les conventions de nommage. J'irais vers la flexibilité telle que définie dans cette réponse. – djna

+0

Le client présente TOUJOURS une autre demande. ;) – Carlos

2

Comment court que vous voulez qu'il soit? Mon premier instinct est de laisser tomber quelques mots qui ne semblent pas si importants. Comme DeleteBookmarksNotAllowedForDocumentType, DeleteBookmarksNotAllowedForDocument ou simplement DeleteBookmarksNotAllowed. Bien que je préférerais probablement quelque chose comme DeleteInvalidBookmarks. Bien sûr, cela ne fonctionne que s'il n'y a pas d'autres méthodes qui suppriment les signets par des règles différentes.
Ou si vous êtes prêt à changer la façon dont votre méthode fonctionne, je le rendrais plus générique en donnant le préfixe comme paramètre, alors le nommage serait plus simple.

0

Que diriez-vous de DelBookmarksStartingWith? C'est assez clair et exprime l'intention.