🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #217459

Re: Narzędzia do wizualizacji systemów Embedded

#217459
From: Maciek Godek
Date: Tue, 13 Apr 2021 08:32
52 lines
5824 bytes
poniedziałek, 12 kwietnia 2021 o 17:58:26 UTC+2 Maciej Sobczak napisał(a):
> > > Ale to nie odpowiada na pytanie, po co napisał książkę. Kod by napisał, taki samokomentujący, i by stykło. Nie? 
> > Równie dobrze mógłbyś pytać, dlaczego nauczyciele prowadzą z uczniami lekcje czytania.
> Zgadzam się, że na logiczną dyskusję chyba nie ma już szans...

Szanse są zawsze. Tylko to wymaga przede wszystkim wysiłku zdefiniowania używanych w dyskusji terminów, i trzymania się tych definicji. Wierzę, że stać Cię na taki wysiłek.

> > Błąd, jaki Ty popełniasz, polega na tym, że ze stwierdzenia, że coś jest dokumentacją, próbujesz wyciągać wniosek, że owo coś jest wyczerpującą albo jedyną potrzebną dokumentacją.
> Bo właśnie tak to działa w powszechnym odbiorze. W sensie - ktoś, kto nie napisał dokumentacji stwierdza, że przecież jego kod jest tak bardzo samodokumentujący, że już niczego więcej nie trzeba. I tak to zostaje. 

Jak to mówią, "ogólnie różnie bywa".
Jeżeli rzeczywiście niczego więcej nie potrzeba, to czas, który nie został wydatkowany na robienie dokumentacji, to czas zaoszczędzony.
A jeżeli potrzeba czegoś więcej, to ta potrzeba prędzej czy później da o sobie znać w jakimś procesie.
Pisanie dokumentacji po to, żeby była napisana dokumentacja, to kiepski pomysł.

Znów mogę posłużyć się przykładem. Ostatnio zajmowałem się trochę kwestią parsowania z zachowaniem komentarzy i białych znaków. Napisałem parser i podzieliłem się nim ze swoim przyjacielem, z którym często sobie rozmawiamy na różne tematy:

https://github.com/panicz/grasp-android/blob/master/javor/parse.scm

w odpowiedzi przyjaciel napisał swoją wersję parsera, którą podzielił się ze mną:

https://github.com/drcz/random-crap/blob/master/pod-jaworem.scm

Ponieważ "mówimy wspólnym językiem", i obaj wyrobiliśmy w sobie nawyk pisania przykładów w kodzie źródłowym, żadna dodatkowa dokumentacja nie była potrzebna. Nic by nie wniosła.

> Więc warto jednak dbać o rozróżnianie pojęć, w przeciwnym razie pogubimy się w ich rozmyciach. 

Przede wszystkim należy zacząć od zdefiniowania pojęć.

> Więc zadbajmy o takie rozróżnienie: kod *nie* jest dokumentacją. Może sobie być poezją w jakimś pozainżynierskim kontekście (no chyba że poeci zgłoszą jakiś sprzeciw, np. poczują się obrażeni albo coś), ale nie jest dokumentacją.

Według JAKIEJ definicji "dokumentacji"?

> > Samodokumentujący kod zawiera wszystko, co jest potrzebne do tego, żeby zrozumieć, jak jakiś system działa.
> "Koń jaki jest, każdy widzi." Wiesz, skąd to zdanie pochodzi? Z bardzo poważnego źródła. Ale jednak z biegiem czasu zaczęliśmy wymagać więcej, więc nawet w tych poważnych źródłach już takich zdań nie ma. 

Nie rozumiem.

> > Nie zawiera za to, na przykład, informacji [...] 
> 
> Bo nie jest dokumentacją.

Według JAKIEJ definicji?

> > Książka Martina jest (kiepskim bo kiepskim, ale jednak) materiałem, który ma trenować tę umiejętność.
> Umiejętność czego?

Pisania kodu, do którego zrozumienia nie potrzeba dodatkowej dokumentacji.

> Nadal jednak kod nie jest dokumentacją.

Według JAKIEJ definicji?
Technical Details
Message-ID: <b06588d8-310e-40c6-84a5-f19da39404f4n@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder8.news.weretis.net!news.uzoreto.com!news-out.netnews.com!news.alt.net!fdc2.netnews.com!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
References: <d1b39f9d-b32f-415a-8054-5383d4c09dc0n@googlegroups.com> <0732d3e3-0bad-4765-8588-b272b9834378n@googlegroups.com> <6c2d0f52-2d8e-4ca6-8766-dd8e7c7ce0b4n@googlegroups.com> <a8045016-bb5b-45ba-8664-d9ad28e91b00n@googlegroups.com> <ae0e5f1f-24c1-42bd-abfa-fd896b169110n@googlegroups.com> <657950da-97f7-420a-a3d0-13597899385en@googlegroups.com> <47e3881e-b68a-4769-8e09-d2be3159de58n@googlegroups.com> <03382e3f-a8a7-429f-9ab2-d59b48ffc44cn@googlegroups.com> <e54cb8c5-3584-42cc-a75e-e4ed197f4fc8n@googlegroups.com> <4ceb82cc-54f8-49c0-82f7-2a2464ed9f3fn@googlegroups.com> <ef31edca-80b2-45fa-be5c-3b8a3522acedn@googlegroups.com> <3c9199cd-da3a-442a-b9e3-e016ad28b7f8n@googlegroups.com> <ba7bbd79-47e7-4df4-b906-f9642edc0a79n@googlegroups.com> <s4d9qt$blm$1@news.icm.edu.pl> <fbc62c89-79e5-48e0-8dd6-863bfd5c029an@googlegroups.com> <s4p91v$m14$1@news.icm.edu.pl> <64ecbdb5-314e-4322-8a47-a3628667ad8bn@googlegroups.com> <s4q08u$st2$1@news.icm.edu.pl> <9077e026-cb26-4292-8106-3bebefead89cn@googlegroups.com> <4e5f3e96-017d-489c-9e4d-76be9ba0e1f7n@googlegroups.com> <c788785c-e7d6-4b4f-8348-55dfa7913c39n@googlegroups.com>

Show Full Headers
Complete Article Headers
X-Received: by 2002:ac8:70d3:: with SMTP id g19mr28609960qtp.227.1618302769807;        Tue, 13 Apr 2021 01:32:49 -0700 (PDT)
X-Received: by 2002:ac8:124c:: with SMTP id g12mr17416476qtj.71.1618302769594; Tue, 13 Apr 2021 01:32:49 -0700 (PDT)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder8.news.weretis.net!news.uzoreto.com!news-out.netnews.com!news.alt.net!fdc2.netnews.com!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Tue, 13 Apr 2021 01:32:49 -0700 (PDT)
In-Reply-To: <c788785c-e7d6-4b4f-8348-55dfa7913c39n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=213.192.68.153; posting-account=f7iIKQoAAAAkDKpUafc-4IXhmRAzdB5r
NNTP-Posting-Host: 213.192.68.153
References: <d1b39f9d-b32f-415a-8054-5383d4c09dc0n@googlegroups.com> <0732d3e3-0bad-4765-8588-b272b9834378n@googlegroups.com> <6c2d0f52-2d8e-4ca6-8766-dd8e7c7ce0b4n@googlegroups.com> <a8045016-bb5b-45ba-8664-d9ad28e91b00n@googlegroups.com> <ae0e5f1f-24c1-42bd-abfa-fd896b169110n@googlegroups.com> <657950da-97f7-420a-a3d0-13597899385en@googlegroups.com> <47e3881e-b68a-4769-8e09-d2be3159de58n@googlegroups.com> <03382e3f-a8a7-429f-9ab2-d59b48ffc44cn@googlegroups.com> <e54cb8c5-3584-42cc-a75e-e4ed197f4fc8n@googlegroups.com> <4ceb82cc-54f8-49c0-82f7-2a2464ed9f3fn@googlegroups.com> <ef31edca-80b2-45fa-be5c-3b8a3522acedn@googlegroups.com> <3c9199cd-da3a-442a-b9e3-e016ad28b7f8n@googlegroups.com> <ba7bbd79-47e7-4df4-b906-f9642edc0a79n@googlegroups.com> <s4d9qt$blm$1@news.icm.edu.pl> <fbc62c89-79e5-48e0-8dd6-863bfd5c029an@googlegroups.com> <s4p91v$m14$1@news.icm.edu.pl> <64ecbdb5-314e-4322-8a47-a3628667ad8bn@googlegroups.com> <s4q08u$st2$1@news.icm.edu.pl> <9077e026-cb26-4292-8106-3bebefead89cn@googlegroups.com> <4e5f3e96-017d-489c-9e4d-76be9ba0e1f7n@googlegroups.com> <c788785c-e7d6-4b4f-8348-55dfa7913c39n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <b06588d8-310e-40c6-84a5-f19da39404f4n@googlegroups.com>
Subject: Re: Narzędzia do wizualizacji
 systemów Embedded
From: Maciek Godek <godek.maciek@gmail.com>
Injection-Date: Tue, 13 Apr 2021 08:32:49 +0000
X-Received-Bytes: 6536
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit