-
X-Received: by 2002:ac8:1385:: with SMTP id h5mr26588481qtj.298.1617691702055; Mon,
05 Apr 2021 23:48:22 -0700 (PDT)
X-Received: by 2002:ac8:1385:: with SMTP id h5mr26588481qtj.298.1617691702055; Mon,
05 Apr 2021 23:48:22 -0700 (PDT)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erj
e.net!feeder.erje.net!news-out.netnews.com!newsin.alt.net!fdcspool2.netnews.com
!news-out.netnews.com!news.alt.net!fdc3.netnews.com!peer04.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.goog
legroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Mon, 5 Apr 2021 23:48:21 -0700 (PDT)
In-Reply-To: <f...@g...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: <d...@g...com>
<0...@g...com>
<6...@g...com>
<a...@g...com>
<a...@g...com>
<6...@g...com>
<4...@g...com>
<0...@g...com>
<e...@g...com>
<4...@g...com>
<e...@g...com>
<3...@g...com>
<b...@g...com>
<s4d9qt$blm$1@news.icm.edu.pl>
<f...@g...com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <7...@g...com>
Subject: Re: Narzędzia do wizualizacji systemów Embedded
From: Maciek Godek <g...@g...com>
Injection-Date: Tue, 06 Apr 2021 06:48:22 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 6182
Xref: news-archive.icm.edu.pl pl.comp.programming:215427
[ ukryj nagłówki ]poniedziałek, 5 kwietnia 2021 o 19:10:47 UTC+2 Maciej Sobczak napisał(a):
> > Kod źródłowy może być
> > samokomentujący,
> Na tej samej zasadzie co deska o długości 1.2m jest samokomentująca, bo przecież
widać, że ma 1.2m.
O, wyśmienity przykład.
Jeżeli masz system oznaczania desek (np. naklejasz albo wypalasz oznaczenie na
elemencie), i zaprojektujesz oznaczenia w ten sposób, że masz deskę typu A, deskę
typu B, itd., to będziesz potrzebował dodatkowej dokumentacji, żeby sobie
przetłumaczyć "typ" deski na jej wymiar. Natomiast jeżeli zamiast "A" napiszesz na
desce "120x15x2", i deska będzie miała wymiary 120cm x 15cm x 2cm, to nie będziesz
potrzebował tej dodatkowej dokumentacji.
W programowaniu jest podobnie, tylko że bardziej. Wcześniej pisałeś tak:
> Oczywiście można zrobić tak:
>
> int maxNumberOfBananasThatTheCustomerXYZAskedForAtTheLas
tMeeting = 12345;
>
> ale chyba rozumiemy, że taka nazwa to nie jest kod, tylko niewłaściwie użyty
komentarz. Czyli dokumentacja. I się pewnie zaraz rozjedzie.
> Można też tak:
>
> int maxNumberOfBananas = 12345;
>
> ale bez (rozjeżdżającej się) dokumentacji nie wiemy, dlaczego akurat tyle. A to
może być bardzo ważne.
Teraz zwróć uwagę, że zamiast "maxNumberOfBananas" mogłeś użyć np. nazwy "x" albo
"mnb". Ale tego nie zrobiłeś, bo "x" ani "mnb" nie wyjaśniałoby roli rzeczonej
zmiennej (którą jest -- jak bym chciał wierzyć -- maksymalna liczba bananów w jakimś
kontekście) wymagałaby dodatkowego źródła. Dlatego też nazwa zmiennej (będąca
częścią kodu źródłowego, a nie tylko logistycznie współwystępującym elementem w
kodzie źródłowym -- i oczywiście o ile jest poprawnie użyta) dokumentuje rolę tej
zmiennej w systemie.
Rzecz jasna jest tak, że kod źródłowy może dokumentować zachowanie systemu lepiej
albo gorzej (podobnie jak każda inna dokumentacja może być napisana lepiej albo
gorzej), ale stąd nie wynika, że -- jak uparcie twierdzisz (mimo że nie wskazują na
to ŻADNE materiały źródłowe, na które dotychczas próbowałeś się powoływać) -- przez
sam fakt swojej potencjalnej wykonywalności (bądź bycia przetwarzalnym do jakiejś
postaci wykonywalnej) -- nie może być dokumentacją.
Wydaje mi się też, że Twoja teoria miałaby problem z wyjaśnieniem istnienia tego
artykułu na osławionej Wikipedii:
https://en.wikipedia.org/wiki/Self-documenting_code
Nota bene, swego czasu popełniłem na Wikipedii artykuł, który pokazywał, jak przejść
od kodu, który dokumentuje siebie w komentarzach, do takiego, który jest
samo-dokumentujący:
https://www.quora.com/What-are-some-examples-of-bad-
code/answer/Panicz-Godek
Oczywiście nie jest tak, że sprawa nie jest w jakimś stopniu osobliwa: jak wpiszesz w
wyszukiwarkę "self-documenting", to główną podpowiedzią (przynajmniej u mnie) jest
właśnie "code", i wygląda na to, że -- poza kodem źródłowym -- niewiele jest innych
artefaktów, które mogłyby mieć potencjał "dokumentowania siebie samych" (choć np. w
wielu książkach widziałem sekcję pt. "jak używać tej książki", którą poniekąd można
postrzegać jako dokumentację książki do niej samej)
Następne wpisy z tego wątku
- 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
- 12.04.21 18:07 Maciej Sobczak
- 13.04.21 10:32 Maciek Godek
- 13.04.21 17:50 Maciej Sobczak
- 13.04.21 22:57 Maciek Godek
- 16.04.21 11:26 Maciek Godek
Najnowsze wątki z tej grupy
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- Alg. kompresji LZW
Najnowsze wątki
- 2025-05-19 lakier bezbarwny akrylowy
- 2025-05-19 Warszawa => JavaScript / Node / Fullstack Developer <=
- 2025-05-19 Wrocław => Key Account Manager (ERP) <=
- 2025-05-19 Warszawa => MLOps Engineer <=
- 2025-05-19 Zielona Góra => Konsultant wdrożeniowy Comarch XL (Logistyka, WMS, P
- 2025-05-19 Warszawa => Sales Executive / KAM <=
- 2025-05-19 Warszawa => Senior Key Account Manager IT <=
- 2025-05-19 Kraków => NMS System Administrator <=
- 2025-05-19 Kraków => NMS System Administrator <=
- 2025-05-19 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-05-19 Gliwice => Business Development Manager - Network and Network Security
- 2025-05-19 Warszawa => Spedytor Międzynarodowy <=
- 2025-05-19 Lublin => Programista Delphi <=
- 2025-05-19 Szczecin => Key Account Manager IT <=
- 2025-05-19 Wrocław => Controlling systems Consultant <=