Mój projekt ma obecnie problemy z nazewnictwem środowiska. Różni ludzie mają różne założenia co do tego, jakie środowiska należy nazwać lub co oznaczają nazwy, co powoduje zamieszanie podczas ich omawiania. Przeprowadziłem trochę badań i nie znalazłem tam żadnych standardów.
Określenia obejmują „lokalny”, „Sand”, „Dev”, „Test”, „User”, „QA”, „Staging” i „Prod” (oraz kilka innych, o które pytały różne osoby)
Nie szukam tylko opinii, choć jeśli jest taka, że „wszyscy” ją mają, wezmę ją - staram się znaleźć definicje posunięte przez jakiś autorytet, nawet jeśli jest to nieoficjalne.
Oto środowiska, z których obecnie korzystamy:
- Środowisko na komputerze programisty
- Wspólne środowisko, w którym programiści przesyłają kod bezpośrednio do autotestu
- Wspólne środowisko, w którym standardy i funkcjonalność są testowane przez pracowników QA
- Współdzielone środowisko, w którym wypełniony i sprawdzony przez QA kod został zatwierdzony przez wnioskodawców projektu
- Środowisko, które odzwierciedla środowisko końcowe jako kontrola końcowa i przygotowanie do wdrożenia
- Środowisko końcowe, w którym używany jest kod
Wiem, co bym je nazwać, ale czy istnieje jakiś standard w tej sprawie? Z góry dziękuję.
development-environment
naming-standards
Marcus_33
źródło
źródło
Odpowiedzi:
Nie tylko nie ma ustalonego standardu, ale tak naprawdę nie ma ustalonego wzorca. Zależności między tym, co budujesz, a skalą, na jaką możesz sobie pozwolić na jego replikację, będą decydować o tym, jak to musi wyglądać od jednego projektu do drugiego.
Pracowałem z zaledwie jednym środowiskiem i aż 13.
W sekwencji, którą opisujesz, zwykle widziałbym, jak nazwali je coś w rodzaju
Moją radą byłoby uzgodnienie nazw, celów i kryteriów wprowadzania i pozostawiania każdego z nich dla każdego produktu lub projektu, wtedy, gdy uświadomisz sobie, że potrzebujesz siódmego środowiska lub potrzebujesz tylko 5 w jednym przypadku z innego powodu w przyszłości, przedyskutuj ponownie z drużyna.
Jeśli masz członków zespołu, którzy rozwieszają semantykę nazw, zawsze możesz po prostu usunąć nazwy i nazwać ich od prod minus sześć do prod minus jeden z jednym menedżerem, który po prostu odmówił poddania swojego personelu kontroli jakości w środowisku który nie został nazwany „QA”
Jeśli chcesz nazwać same serwery, zwykle sugeruję nadanie im nazwisk według ich uprawnień. Zwykle wygląda to tak:
większość ludzi używa takich nazw jako przedrostków lub sufiksów, dzięki czemu masz łańcuch taki jak „devsqllweb”, „qasqlweb” „prodsqlweb” lub coś w tym rodzaju.
źródło
Wydaje mi się, że pochodząc z bardziej ustrukturyzowanej, regulowanej branży, możliwość nazwania serwera to luksus, którego nie mam. Nazwy naszych serwerów są zgodne z polityką informatyczną naszej firmy - więc rzeczywista nazwa hosta maszyny nie jest czymś, co możemy kontrolować.
To, co zrobiliśmy, zniknęło z trasy nazw DNS i aliasów. Reguła jest pierwszą literą określającą ogólną rolę serwera w procesie programowania (strefa)
Następnie mamy maksymalnie trzyliterową nazwę identyfikującą rolę maszyny
Po cyfrze, jeśli w tej strefie znajduje się wiele komputerów. Publikujemy to na wewnętrznym serwerze dokumentacji i udostępniamy jako część nowej dokumentacji projektów i na etapie ładowania początkowego.
Dotyczy to serwerów, które są częścią procesu programowania. W przypadku maszyn wsparcia mamy bardziej liberalną politykę; a kiedy musimy zapewnić nowy serwer pomocniczy, prosimy zespoły programistów o wymyślenie preferowanej nazwy.
Doprowadziło to do kilku interesujących, moje dwa ulubione to cerberus (wewnętrzny serwer proxy) i hades (serwer dokumentacji / intranet)
Jestem pewien, że nie jest to najlepsza praktyka, ale z tego korzystamy i działa dla nas.
źródło
Nie ma ustalonej definicji. Jest kilka takich, które są używane przez powszechną praktykę (którą wymieniłeś). Jeśli chcesz nadać każdemu środowisku nazwę bohatera w Toy Story, możesz (nie będzie go jednak polecać).
Chciałbym stworzyć słownik dla firmy, w którym nadalibyśmy nazwy, których chcielibyśmy używać.
źródło