-
Data: 2021-03-29 18:39:47
Temat: Re: Narzędzia do wizualizacji systemów Embedded
Od: Maciej Sobczak <s...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]> Nadal nie wyjaśniłeś dlaczego nie jest.
Myślałem, że wystarczy praca samodzielna.
Ideą, ktorą ja wyczuwam w tym artykule, jest odróżnienie dokumentacji od
dokumentowanego obiektu. Wynika to nawet bezpośrednio z podanych tam przykładów.
A najbardziej wynika z paragrafu o dokumentacji w naszej branży:
https://en.wikipedia.org/wiki/Documentation#Document
ation_in_computer_science
Kod źródłowy nie znajduje się na tej liście.
> Teraz drugi raz twierdzisz, że jeżeli diagram posłuży do wygenerowania kodu, to
nagle w jakiś magiczny sposób przestaje być dokumentacją
Tak. Subtelne, prawda? To trochę kwestia kultury pracy i jest to miejsce na
subiektywność.
Ja to widzę tak, że jeżeli coś jest bezpośrednio na ścieżce albo w łańcuchu
transformacji artefaktów inżynierskich, to jest obiektem wymagającym dokumentacji a
nie dokumentacją.
Zauważ (znowu, bo już o tym wspomniałem), że kod źródłowy to nie jest program, choć
zawsze tak skrótowo o nim myślimy i mówimy. Kod źródłowy to jedynie konfiguracja dla
generatora kodu dla niższej wartwy abstrakcji. I to nadal nie musi być program, bo
jeśli kompilator generuje kod w asemblerze, to dalej z tego jest generowany kod
obiektowy i to nadal nie jest program, bo trzeba to zlinkować i pozszywać symbole i
to może dopiero jest program, który zostanie fizycznie wykonany przez komputer. Tak,
w skrócie mówimy, że "napisałem program", ale to nie jest prawda, bo program dopiero
powstanie. Później.
I jeżeli teraz chciałbyś w ten długi łańcuch kolejnych generacji z jednego w drugie
dołożyć jeszcze jeden etap, np. model (w postaci diagramu), z którego zostanie
wygenerowany kod źródłowy, z którego... itd., to coś się zmieniło w całej logice? Nic
się nie zmieniło. I możesz dalej sobie coś dołożyć, np. meta-skrypt generujący takie
modele z zadanej konfiguracji. I coś to zmienia? Dalej nic.
Bo na całym tym łańcuchu masz artefakty inżynierskie, które automatyzują proces
powstania produktu końcowego. I *żaden* z tych artefaktów nie jest wtedy
dokumentacją.
Bo gdyby był, to każdy z nich też by był. Ten asembler też. A to by było słabe,
prawda? W tym sensie, że słowo "dokumentacja" straciłoby swój pierwotny sens.
Więc subtelne rozróżnienie jest właśnie w tym, czy coś jest na ścieżce automatycznej
generacji ostatecznego produktu. Jeśli jest, to nie jest to dukumentacja, bo ta jest
z definicji obok tej ścieżki.
Tak, wiem, że są ludzie, dla których kod źródłowy jest jednocześnie programem i
dokumentacją. I dziełem sztuki. Bo przecież powstało dzieło.
> co w świetle definicji z Wikipedii oznaczałoby, że nie może już służyć do
rozumienia działania systemu
No bo nie może. To, że coś pokazuje *jak* coś działa, nie znaczy, że pokazuje
*dlaczego*. A to jest potrzebne do rozumienia.
> No to teraz uważaj:
> żadna dokumentacja nie dokumentuje wszystkich aspektów budowy i użytkowania
systemów.
Bo nie musi. Natomiast kod źródłowy w ogóle niczego nie dokumentuje.
> https://man7.org/linux/man-pages/man3/memcpy.3.html
>
> Opisuje różne aspekty użycia funkcji `memcpy`, ale nie wyjaśnia, dlaczego ta
funkcja powstała, ani w jakim celu się ją stosuje.
Bardzo dobrze opisuje. Nawet warunki poprawnego użycia są opisane. Dobry kawał
dokumentacji.
A że jest to funkcja bardzo niskopoziomowa, to nie dowiesz się z tej dokumentacji, w
jakim celu się ją stosuje.
> Bo nie wiem jak Ty, ale ja swoje komentarze do kodu źródłowego zazwyczaj trzymam w
kodzie źródłowym.
> One *są częścią* kodu źródłowego, i wyjaśniają rzeczy, których w samym języku
programowania nie mógłbym wyrazić, albo tłumaczą, skąd się wzięły jakieś nieoczywiste
rozwiązania.
No, to już jesteś powyżej średniej. Obiektywnie, bez żartów.
Ale twierdzenie, że komentarze są częścią kodu źródłowego, to miejsce do nadużyć. Bo
fakt, że komentarze są z definicji ignorowane i drugi fakt, że ich związek z
otoczeniem jest jedynie umową społeczną między autorem a czytelnikiem, sprawia, że
jednak nie są częścią kodu. Umieszczenie różnych rzeczy w tym samym pliku to jedynie
fizyczny wybór pojemnika, który to wybór nie wpływa na to, czym coś jest.
I zapewniam, że niektórzy piszą komentarze do kodu poza kodem. Robiłeś kiedyś review
kodu w jakimś narzędziu do pracy zespołowej?
Serio, dokumentację robi się gdzie indziej.
--
Maciej Sobczak * http://www.inspirel.com
Następne wpisy z tego wątku
- 30.03.21 10:41 Maciek Godek
- 30.03.21 23:00 Maciej Sobczak
- 31.03.21 10:42 Maciek Godek
- 05.04.21 19:10 Maciej Sobczak
- 06.04.21 08:48 Maciek Godek
- 06.04.21 09:21 Maciek Godek
- 06.04.21 18:35 Maciej Sobczak
- 06.04.21 23:46 Maciek Godek
- 07.04.21 22:07 Maciej Sobczak
- 08.04.21 12:57 Maciek Godek
- 09.04.21 16:57 Maciej Sobczak
- 10.04.21 16:26 Maciej Sobczak
- 11.04.21 23:57 Maciek Godek
- 12.04.21 11:45 Maciek Godek
- 12.04.21 17:58 Maciej Sobczak
Najnowsze wątki z tej grupy
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-11-21 Re: Dla mr. J.F`a, Trybuna i Wiesiaczka którzy "troszczą" się o państwowe i u których 0 pragmatyzmu
- 2024-11-21 Re: Dla mr. J.F`a, Trybuna i Wiesiaczka którzy "troszczą" się o państwowe i u których 0 pragmatyzmu
- 2024-11-21 Re: Dla mr. J.F`a, Trybuna i Wiesiaczka którzy "troszczą" się o państwowe i u których 0 pragmatyzmu
- 2024-11-20 "betamaxy" i inne voip-y dzisiaj
- 2024-11-21 Strach się bać
- 2024-11-21 Koniec smrodów
- 2024-11-20 Krematorium
- 2024-11-20 Taki tam szkolny problem...
- 2024-11-20 LIR2032 a ML2032
- 2024-11-20 SmartWatch Multimetr bezprzewodowy
- 2024-11-21 Środa Wielkopolska => Konsultant SAP <=
- 2024-11-21 Łódź => Spedytor Międzynarodowy <=
- 2024-11-21 Wrocław => Inżynier bezpieczeństwa aplikacji <=
- 2024-11-21 Kraków => Lead Java EE Developer <=
- 2024-11-21 Karlino => Konsultant wewnętrzny SAP (FI/CO) <=