Współpracuję z zespołem programistów, którzy mają wybór co do obsługiwanego sprzętu i oprogramowania. Uważamy, że ten scenariusz pozwala nam zobaczyć szeroką gamę systemów docelowych przed testowaniem. Z naszego doświadczenia wynika, że wkrótce po wprowadzeniu problemu znajdujemy wiele dziwnych problemów w różnych przeglądarkach i systemach operacyjnych. Ale to tylko doświadczenie jednej grupy.
Ta różnorodność systemów jest trudna dla naszych zespołów ds. Infrastruktury i bezpieczeństwa, dlatego często pojawia się jako problem.
Czy bardziej korzystne jest posiadanie jednorodnego lub heterogenicznego środowiska programistycznego w zespole programistów?
Odpowiedzi:
Jedną z zalet jest to, że napotykasz i musisz rozwiązać problemy dotyczące zgodności i rozbieżności między platformami na wczesnym etapie procesu programowania. Wszyscy są przyzwyczajeni do radzenia sobie z takimi małpimi kluczami i przeszkodami.
Widzisz również wadę takich rozbieżności: środowisko jest trudniejsze do skonfigurowania, utrzymania, zabezpieczenia i rozwoju z powodu tych rozbieżności. Wszyscy muszą wcześnie i często pracować nad kwestiami rozbieżności. Uwolnienie Małpy Chaosu na samym początku może być dużym odciągnięciem uwagi od robienia postępów.
Z mojego doświadczenia wynika, że kłopoty z rozbieżnością nie są warte wysiłku, chyba że pracujesz nad produktem, który musi być wieloplatformowy. Ale jest to wezwanie do osądu, które różne zespoły muszą zrobić dla siebie. Wolę mieć przynajmniej odrobinę identyczności w moich zespołach projektowych - ale w rzeczywistości jest to raczej pragnienie niż coś, co mogę narzucić. Niektórzy ludzie używają Windowsa, inni macOS, inni smakują Linuksa. Pomnóż ten czas przez wszystkie narzędzia, z których programiści mogą chcieć korzystać.
Możesz ustanowić niektóre podstawowe standardy projektu, takie jak Python 3.5, PostgreSQL 9.5+, potok zasobów oparty na gulp, git, Github, rebasing odgałęzienia ... z którymi wszyscy muszą się dostosować. Pomaga to zmniejszyć rozbieżność, a tym samym czas / wysiłek wymagany do jej dostosowania i pokory. Im bardziej korporacyjna i blokująca Twoja organizacja, tym więcej standaryzacji i powszechności możesz nalegać. Deweloperzy są jednak metaforycznymi kotami, których nie da się znieść. Dlatego utrzymywanie rozbieżności „na poziomie tępego ryku” jest często najlepsze, co możesz praktycznie zrobić.
źródło