Von behaviour-driven.org mit dem Titel "GettingTheWordsRight" :
Kurz gesagt, die Worte, mit denen wir Dinge beschreiben, beeinflussen die Art und Weise, wie wir (und andere) über diese Dinge denken. Dies ist nicht nur eine einfache Frage der Kleinlichkeit der Semantik, da bestimmte Wörter Nuancen mit sich bringen, die sich darauf auswirken, wie wir die Bedeutung einer Phrase sowohl auf intellektueller als auch auf emotionaler Ebene interpretieren. Unsere Sprache ist reich an beschreibenden Wörtern und Phrasen, so dass es vernünftig erscheint, Wörter zu verwenden, die die Absicht der Elemente, die wir im Code beschreiben möchten, klar wiedergeben.
Im Fall von BDD bin ich persönlich derjenige, der das Wort sollte fast immer bei der Benennung von Tests verwendet, da seine Verwendung impliziert, dass, obwohl beabsichtigt ist, dass ein Test ein bestimmtes Ergebnis liefert, andere unerwartete Konsequenzen auftreten können , die behandelt werden müssen mit, wenn ein Testergebnis als gültig angesehen werden soll. Sie könnten vielleicht die Worte erwarten oder müssenIn ähnlicher Weise implizieren diese Wörter jedoch einen zwingenderen Standpunkt, so dass der Name des Tests fälschlicherweise bedeuten könnte: "Es ist nichts falsch mit dem Test, vorausgesetzt, die Implementierung ist durcheinander", wohingegen * sollte "impliziert, dass der Test wahrscheinlich ist Seien Sie korrekt, müssen Sie jedoch möglicherweise erneut auf Fehler überprüft werden, wenn sich die Testergebnisse nicht zu summieren scheinen. Mir gefällt dies, weil es Ihr Denken derart beeinflusst, dass Sie dazu ermutigt werden, beim Codieren offen zu bleiben, was sehr wichtig ist Dies ist wichtig, wenn Sie vermeiden möchten, hängen zu bleiben, während Sie versuchen, Ihren Code zu debuggen, und aufgrund einer Annahme am falschen Ort nach Fehlern suchen.
Ich habe jedoch gesehen, dass die beinahe 'religiöse' Anwendung des Wortes scheitern sollte , wenn es als Präfix für Testnamen durchgesetzt wurde, da es die beteiligten Programmierer gezwungen hat, bestimmte mentale und sprachliche Gymnastik zu absolvieren, um einen Testnamen bereitzustellen, der dies ermöglicht war sinnvoll, und in solchen Fällen hat es bedeutet, dass die Absicht , die Wörter richtig zu machen , nicht ihren Erwartungen entspricht und die Tests selbst als Ergebnis schwer zu entziffern sind. Wenn diese Art von Situation auftaucht, würde ich normalerweise das Wort sollte verwendenan jeder Stelle innerhalb des Prüfverfahrens Name, um sicherzustellen, dass der Name seine Methode einfach und klar vermittelt. Ich würde jedoch eine bestimmte Wortverwendung sicherlich nicht erzwingen, wenn andere Wörter in einem gegebenen Kontext gleichermaßen angemessen wären. Der Trick besteht jedoch darin, Wörter zu wählen, die keinen Raum für Auseinandersetzungen darüber lassen, was etwas im Code darstellt, und die Sie dazu anregen, über die Dinge nachzudenken, die Ihr Code tun soll, ohne sich auf bloße Implikation zu verlassen.