Modularny JavaScript dla zaawansowanych.pdf

(1359 KB) Pobierz
Tytuł oryginału: Mastering Modular JavaScript
Tłumaczenie: Tomasz Jakut
ISBN: 978-83-283-5477-7
© 2019 Helion SA
Authorized Polish translation of the English edition of Mastering Modular JavaScript ISBN
9781491955680 © 2018 Nicolás Bevacqua
This translation is published and sold by permission of O’Reilly Media, Inc.,
which owns or controls all rights to publish and sell the same.
All rights reserved. No part of this book may be reproduced or transmitted in any form
or by any means, electronic or mechanical, including photocopying, recording or by any
information storage retrieval system, without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu
niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą
kserograficzną, fotograficzną, a także kopiowanie książki na nośniku filmowym,
magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź
towarowymi ich właścicieli.
Autor oraz Helion SA dołożyli wszelkich starań, by zawarte w tej książce informacje były
kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie,
ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz
Helion SA nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe
z wykorzystania informacji zawartych w książce.
Helion SA
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail:
helion@helion.pl
WWW:
http://helion.pl
(księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/modjsz
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis treści
Wstęp ................................................................................................ 5
1. Myślenie modularne.......................................................................... 15
1.1. Wprowadzenie do myślenia modularnego
1.2. Krótka historia modularności
1.3. Zalety modularnego projektowania
1.4. Modularny podział na części
1.5. Modularny JavaScript: konieczność
15
17
24
26
28
2. Zasady modularności......................................................................... 31
2.1. Fundamenty projektowania modularnego
2.2. CRUST
33
46
3. Projektowanie modułów ................................................................... 57
3.1. Hodowanie modułu
3.2. Rozważania nad CRUST
3.3. Strzyżenie modułu
57
67
73
4. Układanie wnętrzności ...................................................................... 81
4.1. Wewnętrzna złożoność
4.2. Refaktoryzacja złożonego kodu
4.3. Stan jako entropia
4.4. Struktury danych rządzą
81
86
103
110
3
Kup książkę
Poleć książkę
5. Wzorce i praktyki modularne ........................................................... 117
5.1. Wykorzystanie nowoczesnego JavaScriptu
5.2. Kompozycja i dziedziczenie
5.3. Wzorce kodowania
117
127
133
6. Metodyka i filozofia programowania................................................ 141
6.1. Bezpieczne zarządzanie konfiguracją
6.2. Jawne zarządzanie zależnościami
6.3. Interfejsy jako czarne skrzynki
6.4. Buduj, wypuszczaj, uciekaj uruchamiaj
6.5. Bezstanowość
6.6. Zgodność środowiska programistycznego
i środowiska produkcyjnego
6.7. Liczą się abstrakcje
141
147
149
150
153
156
158
Skorowidz ...................................................................................... 161
4
Spis treści
Poleć książkę
Kup książkę
ROZDZIAŁ 1.
Myślenie modularne
Jak zostało powiedziane we wstępie, złożoność zdaje się być wszędzie wokół nas,
gdy pracujemy nad projektami oprogramowania. Tak samo jak abstrakcje,
chowające przed nami złożoność, przygniatając je głazami, pod które boimy się
zaglądać. Te głazy to nasze interfejsy, przeznaczone dla reszty świata, dzięki
czemu nie musimy praktycznie w ogóle myśleć o złożoności. JavaScript nie jest
tutaj wyjątkiem. Wręcz przeciwnie, dzięki potędze dawanej nam przez dyna-
miczne języki o wiele łatwiejsze — a czasem wręcz kuszące — jest tworzenie
skomplikowanych programów.
Na dobry początek omówię, jak w lepszy sposób aplikować do naszej pracy abs-
trakcje, interfejsy oraz koncepty będące ich fundamentami. Dzięki temu będziemy
mogli zminimalizować ilość złożoności, z jaką będziemy musieli się stykać, pra-
cując nad projektem, nową funkcją lub jej częścią, aż do pojedynczych gałęzi
w funkcjach.
1.1. Wprowadzenie do myślenia modularnego
Kluczowe dla opanowania
myślenia modularnego
jest zrozumienie, że złożoność
ostatecznie jest nieunikniona. Równocześnie ta sama złożoność może zostać
zamieciona pod dywan interfejs, by już nigdy nie zostać ujrzana czy zagościć
w czyichś myślach. Ale — i tutaj zaczyna się trudna sztuka — interfejs musi być
dobrze zaprojektowany, by jego użytkownicy nie poczuli frustracji. Ta frustracja
może wręcz popchnąć niektórych do zajrzenia pod maskę i uświadomienia sobie,
że implementacja jest dalece bardziej złożona niźli biedny interfejs, na który się
wściekają, i jeśli ten interfejs w ogóle by nie istniał, czytelność i utrzymanie kodu
byłyby na wyższym poziomie.
15
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin