Articles

Clean Swift

resonoitko jonkin seuraavan kanssa?

  • muuttuvatko näkymäohjaimesi massiivisiksi ja vaikeaselkoisiksi, korjaavatko ne bugeja ja lisäävätkö ne uusia ominaisuuksia?
  • okei, siirsit bisneslogiikan malleihin. Mutta nyt malleistasi tulee liian lihavia.
  • käyttääkö sovelluksesi yhtä jättimäistä kuvakäsikirjoitusta?
  • Oletko koskaan tuhlannut 4 tuntia yrittääksesi toistaa vian ja sitten viikon korjataksesi sen? Ettekö vieläkään ole menossa mihinkään? Oletko valmis korjaamaan sen?
  • uuden ominaisuuden lisääminen tarkoittaa regressiota ja enemmän re -, re -, re-factoringia?
  • Tunnetko syyllisyyttä, kun asiakkaasi sanoo ”Tämä toimi ennen”?
  • ponnistus vs. hyötykauppa TDD: n kanssa ei vain ole sen arvoinen.

tietenkin me kaikki tiedämme, että testaus parantaa kaikki nämä ongelmat. Mutta olet yrittänyt kirjoittaa yksikkötestejä ja luovuttanut.

suurin syy siihen, miksi ihmiset luopuvat TDD: stä ja testaamisesta, on se, että he kirjoittavat testejä huonon sovellusarkkitehtuurin päälle.

mieti asiaa. Jos maailman kauneimman talon saa rakennettua, mutta huonolle perustukselle, talo romahtaa. Sama pätee sovellusarkkitehtuuriisi.

olen yrittänyt vuosien varrella toistuvasti työskennellä Yksikkötesteillä (erityisesti iOS: llä) enkä ole löytänyt järkevää tapaa ja tekee sen tavalla, jossa aika vs hyödyttää pay-offia. Tunnen löytäneeni sen tästä arkkitehtuurista.
– Darren Ehlers

mutta sen ei tarvitse olla niin. Sinun ei tarvitse pysyä MVC: ssä. Olet siis matkalla etsimään jotain parempaa.

  • olet vakuuttunut, ettei MVC ole oikea tapa edetä.
  • joten olet kokeillut MVVM: ää Reactivecocoalla, mutta sinun on opittava uusi asia. Lisää riippuvuuksia!
  • tai jopa kyy. Mutta kaikkien liittymien asettaminen johdinkehykseen on niin monimutkaista. Et voi käyttää seguesia.
aloin toteuttaa puhdasta Swift-arkkitehtuuria vain verratakseni sitä alkuperäiseen VIPER-arkkitehtuuriin. Minun täytyy sanoa, että teit hienoa työtä sen kanssa ja nautin todella lukea viestejäsi.
– Razvan

Mitä jos ei tarvitse opetella vielä uutta kehystä? Sinun ei tarvitse lisätä mitään uutta riippuvuutta.

Kuvittele, että voit ottaa koodisi takaisin hallintaasi. Voit tietää nopeasti ja tarkalleen, missä asiat ovat. Voit korjata vikoja ja lisätä uusia ominaisuuksia luottavaisin mielin. Voit hajottaa sovellusvirtasi useisiin kuvakäsikirjoituksiin. Ja kyllä, voit edelleen käyttää segues. Ja ei, ei ole johtokehystä, joka hämmentäisi sinua.

lopuksi asiakkaat voivat sanoa kyllä TDD: n maksamiselle ja näyttää heille vankat todisteet siitä, miten heidän sijoituksensa kannattaa. Voit luottavaisesti paikantaa, missä vika sijaitsee, ja sinulla on syyllisyydentunnoton vastaus pelätyimpään kommenttiin-tämä toimi ennen.

hyvä sovellusarkkitehtuuri helpottaa testaamista.

kirjoita nimesi ja sähköpostiosoitteesi alle. Sinun ottaa valtava ensimmäinen askel tasolle iOS kehitys taitoja ja vaikutuksen ikäisensä puhdas koodi ja testit. Opit soveltamaan Uncle Bobin puhdasta arkkitehtuuria iOS-sovelluksiisi.

iloinen, että olet mukana.

nyt kun olet tilannut, saat sähköpostiisi linkin, jolla voit ladata Clean Swift Xcode-mallini ja luoda automaattisesti kaikki komponentit sinulle. Älä tuhlaa aikaa saman koodin kirjoittamiseen. Keskity liiketoiminnan logiikan kirjoittamiseen.

mallisi toimivat kuin hurmaava. Kaikki on hyvin siistiä ja pidän puhtaasta arkkitehtuurista enemmän kuin VIPER.
– Augustin

kannattaa lukea myös Clean Swift iOS Architecture for Fixing Massive View Controller, jotta saa johdannon puhtaaseen Swiftiin. Tämä viesti osoittaa käsitteitä käyttäen esimerkkinä suoraan Uncle Bob itse. Se myös opastaa, miten käyttää Xcode-malleja puhtaan Swift-komponenttien tuottamiseen. Joten aloitat sovelluksen liiketoimintalogiikan toteuttamisen hetkessä.

lähiviikkojen aikana sukelletaan myös seuraaviin aiheisiin:

  • käytä puhdasta Swiftiä ja VIP-jaksoa Applen näytekoodeihin
  • laita delegaattimenetelmäsi näkymäohjaimeen, interactoriin tai työntekijään
  • Advanced router with multiple storyboards
  • Kirjoita nopeat ja ylläpitävät testit varmuudella tekemään muutoksia
  • ulkopuolinen lähestymistapa testaukseen – hyväksynnästä yksikkötesteihin
  • omien pilkkiesi ja kannkojesi kirjoittaminen
  • syväsukellus jokaiseen puhtaaseen Swift-komponenttiin
  • vertaa puhdas Swift, MVVM + Reactivecocoa ja Viper
  • protokollapainotteinen ohjelmointi ja puhdas Swift
  • konvertoi existing project to Clean Swift
  • How does Clean Swift performance in a large project
  • Extracting common code for reuse in workers and service objects
  • How to break down complex business logic using workers

If you want minä kirjoittaa mitään näistä aiheista ensin, tai jos sinulla on koko muita aiheita mielessä, pudota minulle sähköpostia.

myös, jos työskentelet Objective-C: n kanssa ja haluat auttaa minua testaamaan Objective-C: n versiota Xcode-malleista, lähetä minulle sähköpostia tilauksen jälkeen.

i love to hear how you apply Clean Swift to your iOS projects.

täytyy sanoa, että VIP-arkkitehtuuri todella kasvaa minuun. Mallien avulla kaikki muuttuu selkeäksi ja hyvin suoraviivaiseksi ilman tunnetta, että arkkitehtuuri tuottaa liikaa boilerplate-koodia.
– Mihai