eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingNarzędzia do wizualizacji systemów EmbeddedRe: Narzędzia do wizualizacji systemów Embedded
  • 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)

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: