Czy powinniśmy pozwolić narzędziom dyktować nasze projekty?
Czy ma sens używanie innego stosu programistycznego lub zestawu narzędzi w zależności od typu używanego projektu, nawet jeśli jest on oparty na WordPressie?
Aby nadać trochę więcej kontekstu, pisałem zarówno o używaniu narzędzi takich jak CodeKit (która łączy różne narzędzia, aby usprawnić rozwój).
Mówiłem również o używaniu takich rzeczy jak CircleCI, które są używane w środowiskach klasy korporacyjnej (ale działają dobrze również w przypadku mniejszych projektów).
Więc jeśli chodzi o pracę w pojedynkę lub z zespołem, co jest najlepszą rzeczą do zrobienia?
Ostatecznie jest to głównie kwestia tego, jak najlepiej radzić sobie z projektami, gdy pracujesz jako freelancer lub w zespole.
Ogólnie rzecz biorąc, mam tendencję do bycia fanem – lub kiedyś byłem fanem – posiadania spójnego zestawu narzędzi, które są używane i stosowane w każdym projekcie.
Na przykład, być może projekt będzie zawierał następujące elementy:
Z drugiej strony inny zestaw narzędzi może wyglądać tak:
- PHPCS ze standardami kodowania WordPress lub z PSR
- CodeKit (ze wszystkim, co zawiera)
- Alternatywne narzędzie do wdrażania (poprzez S/FTP lub inne podobne narzędzia)
- I więcej.
Oczywiście będziemy używać czegoś takiego jak kontrola źródła, niezależnie od pozostałych dostępnych narzędzi. Warto jednak rozważyć, w jaki sposób używamy kontroli źródła podczas wdrażania kodu.
Na przykład, być może jest trochę każdego z powyższych, które warto użyć:
- PHPCS ze standardami kodowania WordPress lub z PSR
- PHPMD
- CodeKit
- OkrągCI
- I więcej.
Chodzi o to, że nie ma jednego „złotego zestawu narzędzi", którego można użyć, ale jest zestaw narzędzi, które pomagają usprawnić rozwój, co pozwala nam skupić się ściśle na tym, co to jest, na rozwiązywaniu problemów naszych klientów przez cały czas robienia rzeczy łatwiej dla nas.
Jaki jest sens?
Wiem: to wszystko brzmi tak, jakbym tańczył wokół pomysłu, który jest mniej rozwinięty niż praca nad pewnym.
Ale nie jestem.
Zamiast tego, oto skąd pochodzę: W tej chwili mój zespół i ja mamy kilka realizowanych projektów, a jeden z nich używa jednego zestawu narzędzi, podczas gdy drugi używa zupełnie innych zestawów narzędzi.
Podczas pracy odkrywam, że są pewne aspekty każdego, które lubię. I chociaż nie jestem przekonany do posiadania szerokiej gamy narzędzi, z których powinniśmy korzystać bez powodu, nie jestem również pewien, czy posiadanie standardowego zestawu narzędzi ma sens niezależnie od projektu.
Czy zatem powinniśmy pozwolić narzędziom dyktować nasze projekty? Być może pozwolimy projektowi dyktować narzędzia, których używamy, zamiast wyposażać projekt w predefiniowany zestaw narzędzi.
