-
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.
Następne wpisy z tego wątku
- 18.07.22 22:58 Piotr Gałka
- 18.07.22 23:13 heby
- 18.07.22 23:16 Piotr Gałka
- 18.07.22 23:20 Piotr Gałka
- 18.07.22 23:23 Piotr Gałka
- 18.07.22 23:26 heby
- 18.07.22 23:29 heby
- 18.07.22 23:31 Cezar
- 18.07.22 23:39 Grzegorz Niemirowski
- 18.07.22 23:41 heby
- 19.07.22 01:05 Marek
- 19.07.22 01:10 Marek
- 19.07.22 01:13 Marek
- 19.07.22 09:06 heby
- 19.07.22 09:07 heby
Najnowsze wątki z tej grupy
- Brak bolca ochronnego ładowarki oznacza pożar
- AMS spalony szybkim zasilaczem USB
- stalowe bezpieczniki
- Wyświtlacz ramki cyfrowej
- bateria na żądanie
- pradnica krokowa
- Nieustający podziw...
- Coś dusi.
- akumulator napięcie 12.0v
- Podłączenie DMA 8257 do 8085
- pozew za naprawę sprzętu na youtube
- gasik
- Zbieranie danych przez www
- reverse engineering i dodawanie elementów do istniejących zamkniętych produktów- legalne?
- Problem z odczytem karty CF
Najnowsze wątki
- 2025-01-26 Trump-2 JUŻ bardzo łaskawy [1_500 ułaskawień skazanych za Bidena za "Kawkę na Kapitolu"]
- 2025-01-26 Brak bolca ochronnego ładowarki oznacza pożar
- 2025-01-24 Elektryfikacja w ODWROCIE
- 2025-01-25 AMS spalony szybkim zasilaczem USB
- 2025-01-24 stalowe bezpieczniki
- 2025-01-23 Zenek Kapelinder - ?
- 2025-01-25 Błonie => Sales Specialist <=
- 2025-01-25 Lublin => iOS Developer (Swift) <=
- 2025-01-24 Warszawa => Java Developer <=
- 2025-01-24 Białystok => iOS Developer (Swift experience) <=
- 2025-01-24 Warszawa => Programista Full Stack (.Net Core) <=
- 2025-01-24 Warszawa => System Architect (background deweloperski w Java) <=
- 2025-01-24 Lublin => Delphi Programmer <=
- 2025-01-24 Kraków => Key Account Manager <=
- 2025-01-24 Lublin => Programista Delphi <=