Mam pewne doświadczenie ze scala. Chcę wprowadzić go do nowego projektu z 10 członkami. Ale pomimo całej ekspresji scala, nie jestem pewien, jak prosty kod może zostać zachowany i przeniesiony do nowych członków zespołu. W tej chwili studiowałem tylko jeden duży projekt na scala http://code.google.com/p/factorie/ i niektóre scala DSL (apache wielbłąd). Więc moje pytanie brzmi, ile scala można utrzymywać/wspierać w porównaniu do java, python i groovy dla zespołu programistów średniego poziomu?Czy duży kodek jest obsługiwany?
Odpowiedz
W ogólnie: Konserwacyjność kodzie zależy (by wymienić tylko kilka)
- Wola programistów do projektowania konserwacji
- Umiejętność deweloperów do realizacji swoich zamiarów
- Poziom i dokładność dokumentacji (dokładność w odniesieniu do tego, jak dobrze dokumentacja przedstawia rzeczywisty system, nie w odniesieniu do szczegółowości dokumentacji)
- Umiejętność programistów dbających o utrzymanie
Możesz utworzyć bałagan za pomocą dowolnego dostępnego języka. Możliwe, że możesz stworzyć czysty i łatwy do utrzymania projekt o dowolnej wielkości, używając dowolnego języka programowania, który jest przeznaczony do użytku produkcyjnego.
To powiedziawszy - scala nie powinna być mniej konserwowalna niż java, python lub groovy. Rezultat pierwszego projektu może być jednak mniejszy do utrzymania.
Krótka odpowiedź: Tak
Długa odpowiedź: W porównaniu do Java, bardzo.
Cechy, klasy przypadków, dopasowywanie wzorców, typy wyższych typów, zamknięcia itp. Wszystkie spiskują, aby usunąć skróconą tabelę i ułatwić egzekwowanie zasady DRY. Twoja baza kodowa będzie miała około 1/3 rozmiaru i dużo łatwiej będzie wyodrębnić kluczowe abstrakcje zamiast powielania logiki.
Lepsze ramy testowe znacznie ułatwiają utrzymanie efektywnego zestawu testów.
Oczywiście ... Wszystko to przychodzi po tym, jak Aleksi wskazuje na wolę/umiejętności poszczególnych zaangażowanych deweloperów. Jeśli zespół nie jest aktywnie nastawiony na łatwość konserwacji, najbardziej konserwatywny język na świecie nie pomoże ci!
Być może zwrócimy uwagę na programistę.SE, ale nie tutaj. –