2012-10-17 13 views
5

Podczas pisania bibliotek, zacząłem przenosić wszystkie swoje ciągi literałów do pliku zasobów, nawet jeśli są one czymś, czego użytkownicy końcowi nigdy nie widzą, i nie potrzebuję tłumaczenie dosłowności na korzyść innych programistów (ponieważ biblioteki są tworzone tylko przez jeden zespół).Dosłowny lub źródłowy plik dla użytkownika nie będącego użytkownikiem

Niedawno ktoś, kto przegląda kod, zapytał, dlaczego wstawiłem kilka ciągów do komunikatu wyjątku (którego użytkownik końcowy nigdy nie zobaczy) do pliku zasobów. Zakładam, ponieważ wiemy, że ten ciąg nie będzie musiał być przetłumaczony.

Osobiście podoba mi się, ponieważ znalazłem często, że ciąg będzie potrzebował wielu miejsc, a kończy się na funkcjonowaniu w taki sam sposób jak stała, ponieważ resx ma wygenerowany plik kodu, więc nie muszę to utrzymać.

Chciałbym wiedzieć, czy są jakieś standardowe konwencje, najlepsze praktyki lub oficjalne wytyczne. Weź pod uwagę, że jest to tylko dla komunikatu typu string, inne łańcuchy, które byłyby bardziej odpowiednie jako stałe, które tworzę jako stałe, więc mówię tylko o komunikatach wyjątków lub komunikatach logowanych do czegoś podobnego do log4net.

+0

To dość subiektywne pytanie; ostatecznie powiedziałbym, że sprowadza się to do kwestii stylu i/lub wewnętrznych wytycznych dotyczących kodu. Nie ma "właściwej" lub "złej" odpowiedzi. –

+0

Pytam konkretnie, czy ktoś wie, czy istnieją jakieś wytyczne branżowe lub standardowe najlepsze praktyki, które zostały wdrożone. Jeśli nie, nie będzie to również akceptowalna odpowiedź. Nie szukam opinii ludzi w tej sprawie. – Andy

Odpowiedz

2

Istnieje wiele korzyści z używania zasobów dla literałów ciągów. Często okazało się, że są one świetne do agregowania komunikatów o błędach/sukcesach/sprawdzaniu poprawności. Kiedy produkt ma zostać ukończony, powszechną praktyką jest zbieranie wszystkich wiadomości, abyś mógł szkolić helpdesk, by odpowiadał na pytania w oparciu o to, co widzą użytkownicy.

W tym celu zasoby zapewniają łatwy dostęp do scentralizowanego zasobu w celu zarządzania wszystkimi komunikatami dla użytkownika końcowego.

Ponadto, jeśli chcesz zmienić język używany w konkretnym stanie, znacznie łatwiej jest zmienić lokalizację jednego zasobu i wpłynąć na całą bibliotekę/aplikację. W przeciwnym razie będziesz musiał znaleźć/zastąpić, a nowy programista wrzucony do projektu może po prostu zaktualizować jedno miejsce i przegapić inne lokalizacje.

+0

Zgadzam się, ale moje pytanie brzmi raczej: czy są akceptowane najlepsze w branży najlepsze praktyki dotyczące konsolidowania tego rodzaju wiadomości w plikach zasobów. – Andy

+0

@Andy Ponieważ pliki zasobów są specyficzne dla .net, nie jestem pewien, co masz na myśli w całej branży. Nie znam żadnych standardów, które w szczególności odnoszą się do sposobu obsługi literałów. Ogólnie rzecz biorąc, DRY i dobre abstrakcje są uzasadnieniem użycia plików zasobów. – Candide

+0

Mam na myśli, czy jest to mniej więcej udokumentowane jako zaakceptowane jako najlepsza praktyka wśród społeczności programistów .Net, czy też istnieją jakieś wytyczne ze strony SM. – Andy

Powiązane problemy