eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingNiezmienniki pętli › Re: Niezmienniki pętli
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit
    0.net!news.mixmin.net!aioe.org!.POSTED!not-for-mail
    From: AK <n...@n...net>
    Newsgroups: pl.comp.programming
    Subject: Re: Niezmienniki pętli
    Date: Sun, 18 Nov 2018 09:58:56 +0100
    Organization: Aioe.org NNTP Server
    Lines: 42
    Message-ID: <psr9kf$16l1$1@gioia.aioe.org>
    References: <8...@g...com>
    <7...@g...com>
    <d...@g...com>
    <psp6q7$97o$1@node2.news.atman.pl>
    <6...@g...com>
    NNTP-Posting-Host: 8qtlLyVN3OnGA+76ZQ/E1Q.user.gioia.aioe.org
    Mime-Version: 1.0
    Content-Type: text/plain; charset=utf-8; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Complaints-To: a...@a...org
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101
    Thunderbird/52.9.1
    Content-Language: en-GB
    X-Notice: Filtered by postfilter v. 0.8.3
    Xref: news-archive.icm.edu.pl pl.comp.programming:212922
    [ ukryj nagłówki ]

    On 2018-11-18 00:10, Maciej Sobczak wrote:

    >> Zasada jest taka że jeśli kod
    >> kontrolujący stan miałbym mieć więcej linijek niż goły algorytm to
    >> *zaciemnia* kod
    >
    > Tak, to ważna obserwacja. Może da się te rzeczy rozdzielić? Tak jak rozdziela się
    interfejs
    > od implementacji? Zwłaszcza wtedy, gdy jakieś warunki faktycznie należą do
    interfejsu? Akurat
    > niezmienniki pętli należą do implementacji (i potrafią pięknie zaciemnić kod), ale
    takie rzeczy
    > jak "parametr powinien być między 0 a 20" albo "wartość zwracana powinna być w
    zakresie indeksów
    > tablicy" to intefejs. I może da się to wtedy zapisać gdzieś w okolicy deklaracji
    tak, żeby
    > użytkownik to widział (i mógł się pod to sprawdzić)? Tak działa SPARK i przyznam,
    że podoba
    > mi się.

    Np. w Pythonie do takich rzeczy (DBC) dobrze nadają sie dekoratory
    funkcji/metod/klas (ich dzialanie jes o wiele szersze/bardziej
    dynamiczne niz dekoratory/annotacje z innych jezykow programowania
    np.Javy).

    >> Po jakiś 20 latach stukania w klawisze
    >> widziałem kod opakowany DbC po brzegi i wymagał on niesłychanie dużo
    >> czasu aby zorientować się gdzie jest algorytm a gdzie checkery.
    >
    > Nie zawsze sama koncepcja programistyczna musi ją przekreślać.
    > Tzn. to nie musi być wina DbC, że kod jest nieczytelny.

    Racja.

    > A może wtedy należy odwrócić kolejność i zamiast szukać języka, gdzie to jest
    > czytelne (albo zamiast doklejać DbC do używanego języka), można taki język zrobić?
    > W sensie - zamiast rezygnować z DbC, bo jest nieczytelny, zróbmy język tak,
    > żeby to było czytelne. To nie są zupełnie teoretyczne pytania.

    ..czasem wystarczy w danym jezyku dobrze to zaiplementowac.
    Np. w Pythonie "od lat" stosuję zope.interface i bardzo sobie chwalę

    https://pypi.org/project/zope.interface/
    https://zopeinterface.readthedocs.io/en/latest/
    np.
    https://zopeinterface.readthedocs.io/en/latest/READM
    E.html#invariants

    AK

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: