eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaRynek pracy STM32 › Re: Rynek pracy STM32
  • Data: 2022-07-18 22:57:24
    Temat: Re: Rynek pracy STM32
    Od: heby <h...@p...onet.pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    On 18/07/2022 22:30, Piotr Gałka wrote:
    >> Masz mozliwosć wysofania się z dowolnej poprawki, wliczając w to
    >> detalicznie pojedyncze linie, całe wrzuty, stan z konkretnego dnia,
    >> grupy plików, całe implementacje itd itp. Możesz w ułamku sekund
    >> przełaczyć się na źródła tydzień wstecz, coś sprawdzić, i wrócić do
    >> pracy na aktualnym stanie.
    > Opis możliwości bardzo mi się podoba. Ja nie piszę embedded tylko
    > czasami (bardzo czasami) coś na PC. Przypominam sobie tylko jeden raz
    > kiedy cofałem się do stanu z jakiegoś dnia przed kilku laty.
    > Podejrzewam, że CVS choć ma możliwości imponujące to chyba nigdy bym z
    > nich nie skorzystał.

    Nie, to działa odwrotnie. Ponieważ nie masz takich możliwości, to
    przyzwyczaiłeś się z nich nie korzystać.

    >> Dodatkowo pozwala Ci tworzyć osobne "sandboxy eksperymentalne"
    >> nazywane zazwyczaj branchami. Sprawdzasz coś, robisz przez 3 tygodnie
    >> i na koniec albo dobre (i mergujesz) albo złe (porzucasz).
    > Nie pracuję w ten sposób. Najpierw długo się zastanawiam, a potem jak
    > już robię to .... nigdy nie musiałem się z niczego wycofywać.

    Znowu dokładnie ta sama odpowiedź: ponieważ nie masz takiej możliwości,
    to tego nie robisz.

    >> Robisz 7 rzeczy jednoczesnie?
    > Brzmi bardzo groźnie, chaotycznie i jakby mnie ktoś gonił :)

    Nie. Dam przykład:

    1) projektujesz PCB. Za tydzień będa płytki. Pliki w CVS z tymczasem:
    2) poprawiasz firmware, aby był gotowy na nowe połaczenia, ale Stasiek
    zachorował i nie możesz kontynuować wiec:
    3) dorabiasz miganie diodą. Miganie rzecz ważna, więc dorobić warto, ale
    w połowie:
    4) O przyszły płytki! I to z błędem! Poprawiasz wiec, miganie może zaczekać.
    5) Stasiek przyszedł.

    Jak widzisz, multitasking nawet w 2 osoby może być wielowątkowy. W jedną
    też i to jak.

    >> Robiłes coś 6 lat temu i nie pamiętasz jak? NIe szkodzi, branch tam
    >> dalej jest, można sprawdzić, albo przenieśc zmiany.
    > Częściej nie pamiętam w którym programie to było (mam takich różnych
    > programików około 100). Jak już znajdę który to jest na tyle krótki, że
    > od razu znajduje to co potrzebuję.

    A gdzie go znajdujesz? I czy to coś ma backup? A jak umrzesz, to ktoś
    się w tym połapie?

    > Podejrzewam, że kontrola wersji raczej dotyczyłaby każdego z nich z
    > osobna - chyba by mi w tym nie pomogła.

    Nie. Możesz je mieć wszystkie razem. Możesz mieć wiele niezależnych ale
    w jednym repozytorium. Możesz mieć wiele repozytoriów. Co tam uważasz.

    >> Zachorowałeś? Kolega kontynuuje pracę nad problemem, bez grzebania Ci
    >> w prywatnych plikach.
    > Jesteśmy niezastąpieni i to się może zemścić.

    To jakiś powazny bład organizacyjny. Ludzie nie mogą być niezastąpieni.

    >> Dysk się popsuł w laptopie? Nie szkodzi, zmiany są w CVS.
    > Poczekaj, a gdzie to CVS ma te zmiany? Nie na dysku?

    Na *jednym* filesystemie, którym łatwiej się zająć pod wzgledem
    bezpieczeństwa niż 10 dyskami w 5 latpopach z 7 wirusami.

    >> Systemy kontroli wersji są super ważne w pracy w grupie, ale dla 1
    >> programisty są bardzo ważne.
    > Z naciskiem na 'programistów'. Jak ja coś piszę góra miesiąc w roku....

    Aby była jasnośc: CVS maja w nosie co w nich trzymasz. Z jednym
    wyjątkiem: nie lubią plików binarnych. Możesz je tam trzymac, ale sam
    sobie jesteś wtedy winien, bo pojęcie mergowania, blame itd nie pracują
    na plikach binarnych i tracisz. Stąd tak duży nacisk na to, aby *źródła*
    czegokolwiek (programu, pcb, cad) trzymać w formie tekstowej, a nie
    binarnej i jeden z wielu powodów dla których ludzie porzucają CVS bo ...
    maja pliki binarne.

    >> Po jakimś czasie okazuje się, że jak masz taki system, to nagle
    >> pojawiaja się automaty budujące, eliminujące bugogenne białko z
    >> procesu produkcji, pojawia się testowanie automatyczne, pojawia się
    >> masa innych elementów inzynierii oprogramowania, które nie mają sensu,
    >> jesli nie masz CVS.
    > Same się nie pojawią. Nie czuję dlaczego bez CVS nie mają sensu.

    Mają sens, ale są trudne w kontroli.

    Dam przykład.

    1) wrzucam coś w CVS na "główny poziom"
    2) automatycznie w tyle, dedykowany serwer, widzi tą wrzutę, ściąga
    źródła i puszcza na nich testy
    3) po chwili dostaje maila że program się kompiluje i przeszedł testy
    4) po drodze nie ma białka/galaretki

    Gdyby, nie posiadał CVS mógłbym dalej puszczać to ręcznie, ale to jest
    elemen białkowy, który należy eliminować. Bo testy możesz puścić nie te,
    nie tu, nie tymi i nie tak. Białko to poważny problem w IT.

    >> Na świecie jest wielu którzy nie używają CVS. Na 99% z powodu
    >> niepojmowania zalet i mylenia ich z wadami. A niepojmowanie polega na
    >> tym, że CVS wymagają porzucenia głupich nawyków - szczególnie, że
    >> wymagają higieny pracy.
    > Napisz proszę parę haseł o tej higienie.

    1) wszystko co prowadzi do działania programu/urządzenia jest trzymane w
    CVS. WSZYSTKO. Po bombie atomowej, jesli tylko CVS przetrwa, ma byc
    możliwosc odtworzenia bit-w-bit całości produktu.

    2) nie ma "bo Stasiek to ma jeszcze taki pliczek na c: co ustawia...".
    Stasiek idzie na dywanik do managera

    3) nawet narzędzia, bibliteki zewnętrzne, opcje kompilacji, obrazki,
    pliki konfiguracyjne IDE. WSZYSTKO. Ale patrz 6)

    4) istnieje "główny branch" na którym obowiązkiem programistów jest
    utrzymanie spójności. Nie ma "wrzucę ten pliczek, a te dwa jutro bo już
    po 16". Albo wszystko albo nic. Bałagan można sobie robić na swoich
    branchach eksperymentalnych. Na głównym ma być perfekcyjnie i atomowo.

    5) Każda wrzuta w głowny branch jest prawidłowo opisana. Nie ma
    "poprawka" albo "już działa". Jest "Poprawiono generację PWM dla trybu
    16 bit w związku z bugiem L000872 zmieniajac współczynnik podziału kwarcu".

    6) CVS trzyma źródła. Nie binaria. Wrzucenie binariów == dywanik u
    managera. Jeśli coś jest binarne (np. gcc w wersji X) to w CVS jest
    wrzucona informacja że gcc jest w wersji X.

    7) wszyscy używają CVS. Używanie lewych środków przesyłania "poprawek i
    fixów" jest niedopuszczalne.

    Większosc o restrykcje, których zadaniem jest niezrobienei sobie kuku.
    Są bolesne, szczególnie dla ludzi którzy wczesniej odwalali byle jak,
    czyli trzymali pliki na c:, pakowali do zipów, chowali pod nazwami
    "2022_fg_nowy_7_z_popawkami.zip" itp dziadostwo.

    Restrykcje są po to, aby było łatwiej.

    I jest.

    Serio.

    PS. Zrobienie repozytorium i rozpoczęcie pracy, w przypadku Subverion,
    to 2 kliknięcia w pustym katalogu. Nie przesadzam. Nie ma wymówek.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: