-
Data: 2012-05-10 02:13:56
Temat: Re: 'abstrakcje' a zwartosc
Od: Andrzej Jarzabek <a...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 09/05/2012 16:30, zażółcony wrote:
>
> 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 ...
Akurat języki się potrafić dość znacznie tym, jak zwięzły kod można w
nich pisać, tylko że nie ma to wiele wspólnego ani z wysokopoziomowością
języka, ani z abstrakcją w kodzie.
Java na przykład jest językiem wysokopoziomowym, a jest mocno rozwlekła.
> 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ć.
Ale też chyba nie jest takie rzadkie, żeby abstrakcja redukowała ilośc
kodu przez unikanie zduplikowania. Tyle że z drugiej strony ta sama
abstrakcja potrafi też zwiększyć ogólną ilość kodu, i według mnie
średnio raczej zwiększa, niż zmniejsza.
Zwięzłość abstrakcji polega na czym innym: nie, że ogólnie piszesz mniej
linijek kodu, tylko że dana treść jest wyrażona mniejszą ilością linijek
kodu. Owszem, to dlatego, że te linijki wołają kod napisany gdzie
indziej, ale właśnie o to chodzi, że zawartość tego kodu cię w danym
momencie nie obchodzi. Jeśli masz na przykład pętlę, w której pobierasz
Komunikaty ze ZrodloKomunikatow i przekazujesz do
PrzetwarzaczKomunikatow, to masz tę logikę wyrażoną w trzech linijkach.
Bez abstrakcji miałbyś w tej pętli np. wywołania bazodanowe, mapowanie
komunikatów, reguły przetwarzania i co tam jeszcze - dajmy na to
kilkaset linijek. Trzy linijki są bardziej zwięzłe niż kilkaset CBDU.
Następne wpisy z tego wątku
- 10.05.12 07:40
- 10.05.12 07:51 M.M.
- 10.05.12 10:56 zażółcony
- 10.05.12 14:57 zażółcony
- 10.05.12 15:53 AK
- 10.05.12 16:04 AK
- 10.05.12 16:40 zażółcony
- 10.05.12 20:03 ( prof fir )
Najnowsze wątki z tej grupy
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-02-01 Śmierć mózgu a narządy do pobrania
- 2025-01-31 A niektórym to naprawdę zależy na ekologi w miastach LPG POWRACA ;-)
- 2025-01-31 Lublin => Programista Delphi <=
- 2025-01-31 Łódź => Programista NodeJS <=
- 2025-01-31 Wrocław => Senior SAP Support Consultant (SD) <=
- 2025-01-31 Warszawa => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2025-01-31 Gdańsk => iOS Developer (Swift experience) <=
- 2025-01-31 Kraków => UX Designer <=
- 2025-01-31 Warszawa => Data Engineer (Tech Leader) <=
- 2025-01-31 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-01-31 Gliwice => Business Development Manager - Network and Network Security
- 2025-01-31 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-01-31 Warszawa => Full Stack .Net Engineer <=
- 2025-01-31 Warszawa => Programista Full Stack (.Net Core) <=
- 2025-01-31 Gdańsk => Programista Full Stack .Net <=