Wprowadzenie do firmy nowych standardów CodeReview / UnitTesty i inne

Wprowadzenie do firmy nowych standardów CodeReview / UnitTesty i inne
OB
  • Rejestracja:około 12 lat
  • Ostatnio:2 miesiące
  • Postów:33
0

Cześć,
Temat może śmieszny, ale pracuje w firmie gdzie do tej pory nie było w sumie żadnych standardów, code review, unit test itp. jeśli chodzi o programowanie.
Jest auto build / deploy, SVN i tyle.
Programistów jest kilkunastu (część ze stażem 10+ lat, część ok 3-4 i paru <1 rok).
Problem w tym, że w sumie nikt nie pracował jako dev nigdzie indziej (są od początku, albo odeszli i już nie wrócili).

Kod każdy pisze sam sobie i do zgłoszonych błędów sam po sobie poprawia (no chyba, że jakiś urlop/l4 to ktos inny musi sie zapoznać).
Ogólnie jak na takie coś aplikacja działa na prawdę dobrze i stabilnie.

Za w sumie moimi namowami doszli w końcu do wniosku, żeby od nowego roku spróbować wprowadzić jakieś standardy i ewentualnie nowsze frameworki
W tym momencie .NET 4.8 + MSSQL + React (aplikacja desktop + web). Żadnego ORM

No i tu zaczyna się problem, może ktoś podpowiedzieć jak to zrealizować w średniej firmie, albo w którą stronę w ogóle szukać?
Nie mamy Jenkinsa/GitLabów/Azure i innych chmurowych rozwiązań, żadnych sformalizowanych scrumów/agileów/sprintów itp. (kilka razy w roku wychodzi wersja i tyle więc powiedzmy że sprint).

Błędy zgłaszane w naszym wewn systemie. Przy commicie wpisuje sie nr zgloszenia i tyle.
Na ten moment znalazłem jedynie takie coś https://www.reviewboard.org/

edytowany 1x, ostatnio: obieq
.andy
  • Rejestracja:ponad 16 lat
  • Ostatnio:około 3 lata
  • Postów:1524
1

Przecież możecie sobie podłączyć GitLaba wewnątrz firmy. On ma wbudowaną funkcjonalność do CR.

Jeżeli chodzi o testy. Jeżeli coś nowego nie ma napisanych testów, to choćby skały srały to nie przechodzi CR. Podobnie kwestia przy zmianach w istniejącym kodzie - konieczność pisania testów dla zmienianych funkcji.

Dodatkowo raz na kwartał np. wydzielenie czasu na otestowanie istniejącego kodu bez testów.


Software is like sex: it's better when it's free.
- Linus Torvalds
UglyMan
  • Rejestracja:około 6 lat
  • Ostatnio:ponad 3 lata
  • Postów:2206
3

Mam nadzieje, tylko że te zmiany nie zabiją tej firmy. Jest już znane kilka firm w historii, które chciały coś poprawić i już ich nie ma (np netscape). Co do ORM to nie jestem przekonany, że zawsze jest potrzebny - zwłaszcza jak komunikacji z bazą jest nie dużo (zawłaszcza ze jest trochę złych opinii o EF z poprzednich wersji). Co do procesu produkcyjnego: jak obecny działa to, po co go zmieniać?
Testy do "legacy" kody nie są łatwe do zrobienia, a często nieopłacalne. O ile jestem się zgodzić z testami dla nowych funkcjonalności (modułów) to w starym kodzie może się to nie udać - zwłąszcza jak narzędzie jest robione od kilkunastu lat.

Zobacz pozostały 1 komentarz
UglyMan
Jasne, że zmiany (poprawa aktualnego stanu) są dobre, ale czasem mogą spowodować odwrotny skutek - np odejdą ludzie, którym te zmiany się będą się podobać. Dlatego z takimi rzeczami trzeba delikatnie powoli małymi krokami. I raczej nie zaczynaj od narzędzi a od przekonani ludzi, że takie narzędzia są w stanie coś zmienić. W firmie gdzie jestem wdrożenie GIT (zamiast ftp) jako repozytorium kodu zajęło mi 2 lata. A wdrożenie Azure DevOps do zarządzania taskami kolejne 3.
jarekr000000
Jasne, że zmiany (poprawa aktualnego stanu) są dobre, ale czasem mogą spowodować odwrotny skutek - np odejdą ludzie, którym te zmiany się będą się podobać. jak odejdą ludzie, którym nie podoba się robienie testów i jakieś standardy w kodzie to bardzo dobry skutek. To, że niektóre "dobre zmiany" są złe to inna inszość.
UglyMan
Jasne, ale jak masz 10 programistów co robią tak od 10 lat i nagle połowa z nich odejdzie to jesteś tam, gdzie słońce nie dochodzi - widzaiłem kiedyś agonie takiej firmy.
jarekr000000
@UglyMan: you never know. Może jakby zostali też by umarło. Kilka razy byłem w projekcie, gdzie przejęto duży projekt w standardzie kodowania "totalny bajzel", bez przekazania wiedzy i w zasadzie udało się uratować/ustabilizować. Z tym, że firma miała kasę na refaktoring.
UglyMan
Może, ale można było ich eksterminować w bardziej przewidywalny sposób. Małe firmy balansują na krawędzi opłacalności i często żyją z utrzymania obecnych klientów, jak zabraknie tych obecnych klientów to często kończy się biznes.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.