eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming'abstrakcje' a zwartoscRe: 'abstrakcje' a zwartosc
  • Data: 2012-05-09 19:03:36
    Temat: Re: 'abstrakcje' a zwartosc
    Od: " " <f...@g...pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    zażółcony <r...@c...pl> napisał(a):

    > W dniu 2012-05-09 16:10, f...@g...pl pisze:
    > > zażółcony<r...@c...pl> napisał(a):
    > >
    > >> W dniu 2012-05-09 12:49, f...@g...pl pisze:
    > >>> zażółcony<r...@c...pl> napisał(a):
    > >>>
    > >>>> W dniu 2012-05-09 08:33, prof fir pisze:
    > >>>>> czy ktos moze podac jakies przyklady abstrakcji ktore
    > >>>>> poprawiają zwiezlosc kodu w ten sposob ze przy uzyciu
    > >>>>> tych abstrakcji kod bylby znacznie mniejszy i czytelniejszy
    > >>>>> niz normalny (przyzwoity, ale bez tych wypracowanych abstrakcji)?
    > >>>>
    > >>>> Przykąłd masz w innym watku: "what up, programowanie aspektowe"
    > >>>>
    > >>> tam jest przyklad na podzial kodu (istotnie dosyc ciekawy,
    > >>> np na pion glowny i pion do logow plus pion do jeszcze czegostam)
    > >>> nie na osiaganie zwartosci przez jakies wysokopoziomowe techniki
    > >>>
    > >>> pewna techniką mogloby byc zwykle definiowanie operatorow np
    > >>> dla mnozen na wektorach i macierzach - ale to zastosowanie
    > >>> jest ograniczone, bo w praktyce nie ma tego duzo
    > >>>
    > >>> powinny byc byc moze jakies inne techniki nadawania kodu
    > >>> zwiezlosci przy pomocy abstrakcji ale nic mi jakos nie
    > >>> przychodzi do glowy
    > >>
    > >> Ale tworzenie abstrakcji wiąże się z podziałem/refactoringiem
    > >> kodu, tu nie ma sprzeczności.
    > >>
    > >> Tworzenie abstrakcji to identyfikacja jakiegoś powtarzalnego
    > >> zjawiska/konstrukcji/rozwiązania, jego nazwanie
    > >> i 'wyabstrahowanie' do takiej postaci, by np. jeden problem
    > >> rozwiązywać w jednym miejscu, a nie w tysiącu
    > >> (na zasadzie copy-paste lub ...). Albo by np. jedno wymaganie
    > >> użytkownika implementować w jednym miejscu (żeby przeciwdziałać
    > >> zjawisku rozpraszania implementacji wymagań, bo potem jest kłopot, kiedy
    > >> wymaganie się zmienia i trzeba poprawiać w wielu miejscach
    > >> kodu).
    > >>
    > >
    > > no tak z tym ze 'wydzielenie czegos do jednej funkcji i nie
    > > powtarzanie tego copy'n'pastem tylko wywolywanie ' vel
    > > 'wydzielenie czegos do jednej funkcji i zapodanie tego
    > > drugiej przez wskaznik' to są normalne raczej niskopoziomowe
    > > techniki - mi chodzi o jakies inne, wyzejpoziomowe ktore
    > > nie wystepuja przynajmniej w jakiejs w miare ladnej postaci
    > > w nizejpoziomowej wersji - slowem chodzi mi o techniki
    > > wysokopoziomowe (hll) ktore owocuja znacznie krotszymi kodami
    > > i najlepiej czytelniejszymi kodami (w hll w stosunku do c)
    >
    > Imo to nie tak ...
    > Tworzenie abstrakcji to nie żadne czary-mary, które sprawiają,
    > że w jednej linijce kodu implementujesz wiele wymagań użytkownika.
    > Jest wiele wymagań - będzie dużo kodu. Chyba że ...
    > Chyba że są to wymagania 'powszechne' a nie specyficzne, zwiazane
    > n. z modą na to, by okienka wyglądały tak samo. Wtedy ktoś Ci
    > to zrobi i powie, jak masz to użyć.
    > Tworzenie abstrakcji to zwykłe, programistyczno-projektowe
    > rzemiosło. Ja sie do C nie odnoszę, bo ostatnio programowałem
    > w c na poważnie jakieś 11 lat temu. Ale w Javie to masz to co
    > podałem. Dodatkowo można dodać tyle, że np. dzięki narzędziom takim
    > jak Spring + całe zestawy bibliotek współpracujących
    > wiele spraw sprowadza się do odpowiedniego pozapinania aspektów
    > technicznych 'na górze', ale nic nie zwalnia z tego, że
    > musisz usiąść i trzaskać te metody w klasach, które robią
    > biznes. Możesz liczyć na "coś więcej", jak wchodzisz w jakiś
    > wyspecjalizowany obszar, np. jak wchodzisz w temat integracji
    > systemów informatycznych (budowa interfejsów międzysystemowych)
    > to dostajesz w ręce oparty na Javie server Mule, tzw.
    > szynę danych, która dostarcza od razu abstrakcje ułatwiajace
    > implementację typowych w takich zadaniach wzorców projektowych
    > - i jak wiesz o co biega, to wiele ze spraw, zamiast projektować -
    > możesz sobie wyklikać na diagramach. Jak jesteś bardziej
    > po stronie implementacji wymagań biznesowych, to być może BPEL
    > jest tym, o co pytasz, może drools. Pod spodem jednak
    > zawsze siedzi ta Java (ew. .NET). Wykorzystanie abstrakcji
    > polega tu na ty, że ktoś zaplanował za Ciebie szablon, w którym
    > z góry określił, gdzie się zaczynają i kończą transakcje biznesowe i/lub
    > dostarczył plik konfiguracyjny, w którym np. wymieniasz nazwy
    > klas/funkcji/interfejsów, które maję się odpalać transakcyjnie.
    > Ale ideowo jest to dokładnie to samo, co Ci pokazałem.
    > Musisz sam zbudować funkcje/obiekty i je powiązać zależnościami :)
    > Np. zależnością: "jedna wywołuje drugą".
    > Inaczej się nie da :)

    wydaje mi sie ze panuje pewne przekonanie (cos w rodzaju
    mitu, trudno mi okreslic na ile prawdziwego) ze programy
    jakims w jezyku wysokopoziomowym moga byc krotsze niz
    w jezyku niskopoziomowym jak c, cos w stylu wyobrazenia
    ze jak w c chcesz narysowac okrag to musisz to rysowac
    per pixel a w jezyko wysokopoziomowym wywolujesz po
    prostu costam - z tym ze mozna wlasnie zauwazyc ze to
    akurat nie jest zwiazane z wysokopoziomowoscia jezyka
    tylko z setem bibliotek,

    refleksja na te tematy wiaze sie z moim spojrzeniem na jakis
    wyjatkowo nieladny kod w pythonie ktory sie skladal z
    wielkiej ilosci selfow kropek try catchow i nie byl na oko
    bardziej wyrazalny i zwiezly niz c a wrecz przeciwnie

    z drugiej strony moga byc pewne elemanty wysokopoziomowe
    ktore uczynily by kody bardziej zwiezlymi i automatycznymi
    tylko ze na razie nie wiem co to takiego





    --
    Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

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: