Articles

Clean Swift

czy korzystasz z którejś z poniższych funkcji?

  • czy Twoje Kontrolery widoku stają się masywne i trudne do zrozumienia, naprawiają błędy i dodają nowe funkcje?
  • dobra, przeniosłeś logikę biznesową do modeli. Ale teraz twoje modele stają się zbyt grube.
  • czy Twoja aplikacja używa jednego gigantycznego storyboardu?
  • czy kiedykolwiek zmarnowałeś 4 godziny na próbę odtworzenia błędu, a potem tydzień na jego naprawę? I nadal nigdzie nie idziesz? Gotowy na łatanie?
  • dodanie nowej funkcji oznacza regresję i więcej re, re, re-factoringu?
  • czujesz się winny, gdy twój klient mówi”to kiedyś działało”?
  • wysiłek a korzyści z TDD po prostu nie są tego warte.

oczywiście wszyscy wiemy, że testowanie leczy wszystkie te problemy. Ale próbowałeś napisać testy jednostkowe i się poddałeś.

pierwszym powodem, dla którego ludzie rezygnują z TDD i testowania jest to, że piszą testy na złej architekturze aplikacji.

Jeśli możesz zbudować najpiękniejszy dom na świecie, ale na złym fundamencie, Dom się zawali. To samo dotyczy architektury aplikacji.

przez lata wielokrotnie próbowałem pracować z testami jednostkowymi (zwłaszcza z iOS) i nie udało mi się znaleźć sposobu, który ma sens i robi to w sposób, w którym czas vs korzyści się opłacają. Czuję, że znalazłem to w tej architekturze.
– Darren Ehlers

ale nie musi tak być. Nie musisz trzymać się MVC. Więc jesteś w drodze, aby szukać czegoś lepszego.

  • jesteś przekonany, że MVC nie jest drogą do przodu.
  • więc próbowałeś MVVM z ReactiveCocoa, ale musisz nauczyć się czegoś nowego. Więcej zależności!
  • a nawet żmija. Ale konfiguracja wszystkich interfejsów w szkielecie jest tak złożona. I nie możesz używać segue.
zacząłem implementować czystą architekturę Swift, aby porównać ją z oryginalną architekturą Vipera. Muszę powiedzieć, że wykonałeś z nim świetną robotę i naprawdę lubię czytać twoje posty.
– Razvan

Co jeśli nie musisz uczyć się jeszcze innego frameworka? Nie musisz dodawać żadnych nowych zależności.

wyobraź sobie, że możesz odzyskać kontrolę nad swoim kodem. Możesz szybko i dokładnie wiedzieć, gdzie rzeczy są. Możesz naprawiać błędy i dodawać nowe funkcje z pewnością. Możesz podzielić przepływ aplikacji na wiele storyboardów. I tak, możesz nadal używać segue. I nie, nie ma żadnego szkieletu, który by cię zdezorientował.

wreszcie możesz sprawić, że klienci powiedzą ” Tak ” płaceniu za TDD i pokażą im solidny dowód na to, jak ich inwestycja się opłaca. Będziesz w stanie pewnie wskazać, gdzie leży błąd, i mieć wolną od winy odpowiedź na najbardziej przerażający komentarz-to kiedyś działało.

dobra architektura aplikacji ułatwia testowanie.

wpisz poniżej swoje imię i adres e-mail. Zrobisz ogromny pierwszy krok, aby rozwinąć swoje umiejętności programistyczne iOS i zaimponować rówieśnikom czystym kodem i testami. Dowiesz się, jak zastosować czystą architekturę wujka Boba do swoich aplikacji na iOS.

teraz, gdy subskrybujesz, otrzymasz link w skrzynce odbiorczej, aby pobrać moje czyste Szablony Swift Xcode, aby automatycznie wygenerować wszystkie komponenty dla ciebie. Nie trać czasu na pisanie tego samego kodu boilerplate. Skup się na pisaniu logiki biznesowej.

Twoje szablony działają jak urok. Wszystko jest bardzo schludne i wolę czysty wzór architektury niż VIPER.
– Augustin

należy również przeczytać czystą architekturę Swift iOS do mocowania kontrolera Massive View, aby uzyskać wprowadzenie do czyszczenia Swift. Ten post demonstruje koncepcje na przykładzie samego wujka Boba. Przeprowadzi Cię również przez sposób korzystania z szablonów Xcode do generowania czystych komponentów Swift. Dzięki temu w mgnieniu oka zaczniesz wdrażać logikę biznesową swojej aplikacji.

w ciągu najbliższych kilku tygodni zagłębimy się również w następujące tematy:

  • Zastosuj Clean Swift i cykl VIP do przykładowych kodów Apple
  • umieść swoje metody delegowania w kontrolerze widoku, interaktorze lub workerze
  • zaawansowany router z wieloma storyboardami
  • Pisz szybkie i łatwe do utrzymania testy z ufnością, aby wprowadzić zmiany
  • podejście zewnętrzne do testowania-od akceptacji do testów jednostkowych
  • pisanie własnych moków i fragmentów
  • głębokie zanurzenie w każdym komponencie Clean Swift
  • porównaj clean SWIFT, MVVM + REACTIVECOCOA i Viper
  • programowanie zorientowane na protokół i Clean SWIFT
  • konwersja twojego istniejący projekt do czyszczenia Swift
  • jak działa Clean Swift w dużym projekcie
  • wydobywanie wspólnego kodu do ponownego użycia w workerach i obiektach usługowych
  • jak rozbić złożoną logikę biznesową za pomocą workerów

chcesz, żebym najpierw napisał którykolwiek z tych konkretnych tematów, lub jeśli masz inne tematy na myśli, napisz do mnie e-mail.

Ponadto, jeśli pracujesz z Objective-C i chcesz pomóc mi przetestować wersję Objective – C szablonów Xcode, napisz do mnie po subskrypcji.

Uwielbiam słuchać, jak stosujesz Clean Swift do swoich projektów iOS.

muszę powiedzieć, że architektura VIP naprawdę rośnie na mnie. Z pomocą szablonów wszystko staje się jasne i bardzo proste, bez wrażenia, że architektura produkuje zbyt dużo kodu kotłowego.
– Mihai