2011-08-22 20 views
6

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?

+1

Być może zwrócimy uwagę na programistę.SE, ale nie tutaj. –

Odpowiedz

11

W ogólnie: Konserwacyjność kodzie zależy (by wymienić tylko kilka)

  1. Wola programistów do projektowania konserwacji
  2. Umiejętność deweloperów do realizacji swoich zamiarów
  3. 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)
  4. 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.

6

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!

Powiązane problemy