Autres conseils

Vous pourriez envisager refactoring Introduire un Null objet .

Pendant ce temps, il y a un excellent article à ce sujet ici: http://haacked.com/archive/2013/01/05/mitigate-the-billion-dollar-mistake-with-aspects.aspx/

Je considérerais utiliser NullGuard.Fody que je suis excité au sujet des capacités Fodys pour réduire le code boilerplate

Une approche pour réduire (pas éliminer complètement) le nombre de clauses de garde est de comprendre la cause de leur existence. Très souvent, il se que nous gardons contre les valeurs qui sont valables pour le type de l'argument, mais pas valable pour la méthode qui les accepte. En d'autres termes, la méthode est définie sur un sous-ensemble du domaine défini par le type d'argument.

Solution à cette catégorie de cas est d'essayer de définir un sous-type (par exemple une interface plus restrictive) et d'accepter ce type comme argument. Vous trouverez un exemple d'illustration dans cet article: Pourquoi nous avons besoin de clauses de la Garde?

Bien sûr, cette technique ne concerne pas tous les cas. Tous les types de référence permettent au moins des références nulles. Par conséquent, la plupart de nos méthodes seront définies sur une partie du domaine, ce qui exige une clause de protection contre nul.

Mais du côté positif, cette technique permet d'accroître la notoriété des méthodes qui reçoivent des arguments plus généraux que souhaité. Plomberie ce trou contribue à améliorer le design en général.

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