eGospodarka.pl
eGospodarka.pl poleca

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

    On 21/07/2022 15:01, Piotr Gałka wrote:
    > To wiem. Ale mógłbyś mieć więcej tolerancji gdy ktoś się walnie i potem
    > nie umie się z tym pogodzić.

    Przyjmuje do wiadomości.

    > Brat niedawno nie zostawiał suchej nitki na jakimś przykładowym
    > programie USB dla tego Silabsa. Jak pisałeś o metodach znanych od lat
    > 80-tych oddzielenia kodu od hardware'u to miałem wrażenie, że ten
    > program co mu się tak bardzo nie podobał to pewnie był napisany według
    > tych metod.

    Zakładałeś, że mógł nie zrozumieć idei?

    Codziennie muszę walczyć z takim podejściem w sobie: wydaje mi się że to
    jest źle napisane. Ale jednoczesnie wiem, nie pisali tego idioci. Na sam
    koniec zazwyczaj okazuje się, że nie rozumiałem i jak zrozumiałem, to
    już się takie nie wydaje.

    Ten pierwszy odruch "przeciez to jest źle!" należy w sobie zdusić ;)

    > swój kawałek do którego przydzielone są np. 3 nogi i program pisze tak,
    > jakby pozostałych nóg nie było. Pewnie użył jakąś bibliotekę gdzie ktoś
    > zdefiniował jakąś abstrakcję obejmującą te 3 linie i ma w dupie co się
    > dzieje naokoło - Jak można tak pisać !!

    Tutaj dam ci kontrprzykład:

    Taki kod: Foo = 1<<BAR;

    Jaką masz pewnośc, że BAR to numer bitu a nie wartość binarna bitu? Obie
    to int. Obie się skompilują.

    Ktoś może powiedzieć: ale to trzeba wiedzieć!

    Nie. Kiedy pisałem sporo kodu pod SAM7, programiści z Atmela mieli
    bardzo swobodne metody na nazywanie wartości binarnych i numerów bitów i
    *nigdy* nie było wiadomo. Czarę goryczy przelały pliki konfiguracyjne do
    cpu, gdzie raz było #define BAR 16 a w innym, podobnym, #define BAR 4
    (najwidoczniej ktoś poprawił).

    Ten problem da się rozwiązać za pomocą C++ i szablonów. W taki sposób,
    że błedne użycie NIE będzie możliwe. Kod szablonowy będzie dośc długawy,
    ale na sam koniec będziesz to widział u siebie jako Foo |= BAR; lub
    podobnie. Ba, nie będzie się dało pomylić rejestru, flagi będa
    przypisane do konkretnego.

    Czy to dobrze?

    Okazuje się że nie.

    Przychodzi embedowiec, widzi te wszystkie "debilizmy z templates" i
    biadoli ile to kodu w CPU zjada i dlaczego nie działa z Harvardem.

    A zjada 0 Flasha. Tak naprawdę, to "kod templaetowy" wykonuje się na
    etapie kompilacji, jako metajęzyk.

    ... po czym miesiąc szuka kodu, w którym pomylił flagę.

    Czasami ciezko pojąć, że ludzie wkręcają śrubki młotkiem, ale tak to
    wygląda z mojej perspetkywy.

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: