Od behaviour-driven.org zatytułowany "GettingTheWordsRight" :
Krótko mówiąc, słowa, których używamy do opisywania rzeczy, wpływają na sposób, w jaki my (i inni) myślimy o tych rzeczach. To nie jest proste pytanie o bycie małostkowym w związku z semantyką, ponieważ pewne słowa niosą ze sobą niuanse, które wpływają na to, jak interpretujemy znaczenie frazy zarówno na poziomie intelektualnym, jak i emocjonalnym. Nasz język jest bogaty w opisowe słowa i wyrażenia, więc rozsądne wydaje się stosowanie słów, które wyraźnie wyrażą zamiar elementów, które chcemy opisać w kodzie.
W przypadku BDD jestem osobiście, który prawie zawsze używa słowa „ powinien” podczas nazywania testów, ponieważ jego użycie oznacza, że chociaż celem testu jest uzyskanie określonego wyniku, mogą pojawić się inne nieoczekiwane konsekwencje, które trzeba będzie rozwiązać z, jeżeli wynik testu należy uznać za ważny. Możesz użyć słów „ oczekuj lub musisz”podobnie jednak te słowa sugerują bardziej imperatywny punkt widzenia, tak że nazwa testu może zostać pomylona z oznaczeniem „nie ma nic złego w teście, zakładamy, że implementacja została pomieszana”, podczas gdy * powinno „sugerować, że test może być poprawnym, ale może być konieczne ponowne sprawdzenie pod kątem błędów, jeśli wyniki testu nie wydają się sumować. Podoba mi się, ponieważ wpływa to na twoje myślenie, dlatego zachęcasz do zachowania otwartości umysłu podczas pisania kodu, co jest bardzo ważne, jeśli chcesz uniknąć utknięcia podczas próby debugowania kodu i znalezienia się w niewłaściwym miejscu pod kątem błędów z powodu założenia.
Widziałem jednak, że niemal „religijne” zastosowanie tego słowa powinno się nie powieść, gdy zostało ono wymuszone jako przedrostek nazw testowych, ponieważ zmusiło zaangażowanych programistów do przejścia niektórych ćwiczeń gimnastycznych umysłowych i językowych w celu zapewnienia nazwy testowej, która było znaczące, aw takich przypadkach oznaczało, że zamiar poprawnego sformułowania słów nie spełnia jego oczekiwań, a same testy stają się trudne do rozszyfrowania. Kiedy pojawia się taka sytuacja, zwykle używam słowa „ powinien”w dowolnym miejscu w nazwie metody testowej, aby upewnić się, że nazwa przekazuje jej metodę w prosty i jasny sposób. Na pewno jednak nie wymuszałbym użycia określonego słowa, gdyby inne słowa były jednakowo odpowiednie w danym kontekście. Sztuką jest jednak wybranie słów, które nie pozostawiają miejsca na spory o to, co coś reprezentuje w kodzie, i które skłaniają cię do myślenia o tym, co powinien zrobić Twój kod, bez polegania na zwykłej implikacji.