Arduino i Raspberry Pi početnik? Evo kako napisati čisti kôd

  • Harry James
  • 3290
  • 15251
  • 273
Oglas

Kad započnete s i više o razvoju softvera, često nailazite na frazu “čisti kod”. U svom najčišćem obliku, ovo je kôd koji drugi ljudi lako čitaju. Ekspresivan je i lijep, a njegovu namjeru lako možete razaznati jednostavno gledajući ga.

Pisanje čistog koda lakše je reći nego učiniti.

Bez obzira jeste li Arduino Prvi koraci s Arduinom: Vodič za početnike Početak rada s Arduinom: Vodič za početnike Arduino je platforma za prototiranje elektronike otvorenog koda koja se temelji na fleksibilnom, jednostavnom hardveru i softveru. Namijenjen je umjetnicima, dizajnerima, hobistima i svima koji su zainteresirani za stvaranje interaktivnih objekata ili okruženja. tinkerer, ili gradite Raspberry Pi Raspberry Pi: Neslužbeni udžbenik Raspberry Pi: Neslužbeni vodič Bez obzira jeste li trenutni vlasnik Pi-a koji želi saznati više ili ste potencijalni vlasnik ovog uređaja veličine veličine kreditne kartice, to nije vodič koji želite propustiti. aplikacija s Python-om ili ste čak i web programer, postoje neki korisni savjeti koji će drugima olakšati čitanje koda.. Evo što trebate znati.

Budite dosljedni

Možda je prvi i najočitiji savjet dosljedan u onome što radiš. Dobar primjer za to je slijediti iste obrasce prilikom imenovanja funkcija Apsolutne osnove programiranja za početnike (2. dio) Apsolutne osnove programiranja za početnike (2. dio) U 2. dijelu našeg apsolutnog vodiča za programiranje početnika, bit ću koji pokrivaju osnove funkcija, povratne vrijednosti, petlje i uvjeti. Provjerite da ste pročitali prvi dio prije nego što se pozabavite tim problemom, gdje sam objasnio… i varijable Osnove računalnog programiranja 101 - Promjenjive i podatkovne vrste Osnove računalnog programiranja 101 - Promjenjive i podatkovne vrste Nakon što ste se malo upoznali i razgovarali o objektno orijentiranom programiranju prije i odakle dolazi njegov imenjak, mislio sam da je vrijeme da prođemo kroz apsolutne osnove programiranja na nejezički specifičan način. Ovo…. Trebali biste odabrati konvenciju o imenovanju i držati se toga.

Dakle, kakvu konvenciju o imenovanju trebate koristiti?

Pa, ako pišete Python za Raspberry Pi, odgovor je jasan. Standard PEP-8 (barometar za dobar, čisti Python kod) kaže da bi imena varijabli trebala biti mala slova, a svaka riječ odvojena podvlakom. Na primjer: gpio_input i moisture_sensor_reading.

Vodič za Arduino stil podrazumijeva da bi trebali napisati svoje varijable u onome što je poznato kao slučaj Camel. Ovdje se riječi ne odvajaju ničim, već se prvo slovo svake riječi velikim slovom, osim prve riječi. Na primjer: buttonPressed i temperatureReading.

Postoje, naravno, i drugi stilovi imenovanja varijabli. Navedeno jednostavno preporučuju službeni vodiči za stil. Ali što god odlučite, pazite da se toga pridržavate i koristite istu konvenciju o imenovanju u cijelom programu.

Napišite smislene komentare

Komentari su sjajan način objašnjavanja vašeg programa. Možete navesti što svaka funkcija radi i svaku varijablu predstavlja svojim riječima. To trećoj strani olakšava čitanje koda, ali i olakšava održavanje koda jer ga u konačnici i bolje razumijete.

Ali ako svoje komentare ne pišete na očigledan i ekspresivan način, možda se nećete toliko gnjaviti.

Kada pišete komentare, pokušajte objasniti zašto kod, osim načina. Pokušajte obznaniti obilato i recite nešto o kôdu koji ne može sam izgovoriti. Dakle, umjesto:

// ažuriranje čitanja

Razmislite o pisanju:

// Ažurirajte broj razbijanja laserskog snopa prije nego što ga uklonite

Obavezno pišite cjelovite, gramatički ispravne rečenice. Pored toga, PEP-8 standard za Python kaže da bi uvijek trebali pisati svoje komentare i varijable na engleskom jeziku. To olakšava drugima suradnju s vama, ukoliko se odlučite pustiti kôd kao otvoreni kod, jer je engleski jezik itekako lingua franca razvoja softvera.

Vodič za Arduino stil ide još dalje i kaže da morate komentirati svaki blok koda, svaki za petlju i svaku deklaraciju varijable.

Osobno mislim da je to pomalo ekstremno. Ako pišete višestruke, izražene nazive varijabli, vaš je kôd već samo dokumentovanje. Ipak, ne oklijevajte dodati komentare tamo gdje mislite da su potrebni. Koristite svoje dobro prosuđivanje.

Pojednostavite svoj kôd

Kada se prvi put učite razvijati Kako naučiti programiranje bez svih stresova Kako naučiti programiranje bez ikakvog stresa Možda ste se odlučili baviti programiranjem, bilo za karijeru ili samo kao hobi. Sjajno! Ali možda se počinjete osjećati preplavljeno. Nije tako sjajno. Evo pomoći da vam olakša putovanje. , često ste ispunjeni neizmjernim naletom entuzijazma. Pročitali ste sve što možete o vašem odabranom jeziku, okviru ili platformi. Počinjete nailaziti na koncepte koje nikad prije niste znali i previše ste željni da ih upotrijebite u vlastitom kodu.

Stvari poput ternarnih operatora, koje vam omogućuju da kondenzirate logiku an “ako izjava” poput ove:

 int x = 5; ako (x < 10)  y = 1;  else  y = 0;  

U jednu liniju, poput ove:

int x = 5; int y = (x < 10) ? 1 : 0; printf("%i\n", y); 

Ternarski operatori su sigurno cool, a ja vas savjetujem da ih pročitate. No, kada pišete kôd koji drugi lako čitaju, najbolje ih je izbjegavati. To je, međutim, samo jedan primjer.

Vodič za Arduino stil također vas potiče da izbjegavate pokazivače, #define izjave i vrste podataka koji nisu standardni: boolean, char, byte, int, unsigned int, long, unsigned long, float, double, string, array i void. Trebali biste izbjegavati vrste podataka poput uint8_t, jer se one rjeđe koriste, nisu objašnjene u dokumentaciji i nisu užasno kratke.

Uvlačite i iskoristite prednost Whitespacea

Kada je u pitanju pisanje čistog koda, Python korisnici su u prednosti, jer standardni tumač Python-a nalaže da svi kodovi mora biti razumno strukturiran i razveden. Ako se ne stavite uvlačiti nakon svake funkcije i klase deklaracije i uvjetne izjave, vaš se program jednostavno neće pokrenuti.

Na Arduinu vas ništa ne sprečava u pisanju nestrukturiranog, zbijenog koda. To je, u konačnici, teško pročitati i teško je održati.

Ali ni vas ništa ne sprečava da strukturirate svoj kôd.

Prvo utvrdite za koliko ćete namjeravati ući. Ključ s karticama trebali biste koristiti razborito, jer svaki uređivač teksta tretira ASCII kôd za karticu drugačije, a ako svoj kôd dijelite s nekim drugim, postoji šansa da oni mogu nenamjerno uvesti nedosljednosti u svoj urez. Te nedosljednosti mogu slomiti vaš program, pogotovo ako koristite jezik osjetljiv na bijeli prostor poput CoffeeScript CoffeeScript Je li JavaScript bez glavobolje. JavaScript je JavaScript bez glavobolje. Nikad nisam volio pisati JavaScript toliko puno. Od dana kada sam napisao svoj prvi redak korištenjem, oduvijek mi je zamjeralo da sve što napišem u njemu uvijek izgleda poput Jacksona ... ili Pythona. Ovaj članak OpenSourceHacker detaljnije objašnjava zašto treba izbjegavati ključ s karticama.

Obično koristim četiri razmaka za svaku alineju, ali sve ovisi o vama. Sve dok ste dosljedni.

Možete konfigurirati svoj IDE i uređivač teksta da svaku karticu tretira kao zadani broj razmaka, omogućujući vam da upotrebljavate tipku tablice bez rizika da unesete probleme. Ako koristite Sublime Text 2, pogledajte njihovu službenu dokumentaciju. Ako koristite Vim, samo uredite svoj .vimrc datoteka s ovim linijama. Arduino uređivač to automatski radi umjesto vas i ubacuje dva mjesta kad god pritisnete karticu.

Potom jednostavno trebate znati gdje uvlačiti kôd. Kao dobro pravilo, uvijek biste trebali dodati uvlake nakon svake deklaracije funkcije i nakon svake ako, drugo, za, dok, prekidač, i slučaj izjava.

Mnogi urednici imaju mogućnost uvlačenja čitavih blokova koda odjednom. Ako koristite Sublime Text 2, možete postaviti kombinaciju prečaca ili tipke. Inače možete koristiti zadanu kombinaciju koja je (na OS X) Ctrl + [. U uređivaču Arduino uvlačenje datoteke možete automatski popraviti pritiskom Ctrl + T na Windows i Linux i Ctrl + T na OS X.

To u potpunosti ovisi o vašem uredniku, tako pročitajte priručnik!

Ne ponavljajte sebe

Jedna od najvažnijih mantri dobrog razvoja softvera je ne ponavljaj se, koja se često skraćuje na SUHI.

Pisanje DRY koda nevjerojatno je važno jer osigurava da je logika vašeg programa dosljedna, omogućava vam da promijenite mjesto na jednom mjestu i da se to odrazi na globalnoj razini, a manje vremena trošite na pisanje iste stvari iznova i iznova.

Najbolji način da ostanete DRY je uz liberalnu i velikodušnu upotrebu funkcije - obuhvaćajući ponovljeni zadatak blokom koda koji možete pozivati ​​ponovo i ponovo - i osigurati da je svaki zaseban i dobro napisan.

Dobra funkcija je kratka; Vodič za PEP-8 kaže malo o duljini funkcije, ali Clean Code: Priručnik o agilnom obrtu softvera Boba Martina (visoko preporučeno) kaže da “funkcije jedva da bi ikada trebale biti duge od 20 linija”. Po mogućnosti, bili bi još kraće od toga.

Funkcije također trebaju činiti točno jednu stvar. Trebate funkciju koja radi dvije stvari? Napišite dvije funkcije.

Ovi savjeti olakšavaju praćenje tijeka programa i krajnje uklanjanje pogrešaka ako je potrebno. Tu je i dodatna korist za Arduino korisnike, koji su strogo ograničeni ograničenjem pohrane, jer se viškovi uklanjaju. To rezultira manjim programima.

Budite eksplicitni

Druga je važna mantra razvoja softvera “eksplicitno je bolje nego implicitno”. To znači da bi vaš kôd trebao prilično vikati što radi na prvi pogled. Vodič za Arduino stil kaže da ovakvu stvar treba izbjegavati:

ako (gumbPress) doSomething ();  

Umjesto toga, trebalo bi očito što se događa. Umjesto toga, napišite nešto ovako:

if (gumbPress == True) doSomething ();  

Izađi i kod (dobro)

Pisanje čistog koda iznenađujuće je jednostavno. Jednostavno morate biti dosljedni u svemu što radite, izbjegavati viškove i biti eksplicitni. Zapamtite, čisti kod je samo čitljiv kod.

Puno je sjajnih materijala za čitanje na ovu temu. Izvrsno je polazište Arduino vodiči i API stilovi, a slijedi PEP-8 standard ako gradite Python aplikacije za Raspberry Pi. Ako koristite neki drugi jezik (kao što je Javascript na Tesselovoj ploči Gradnja Interneta stvari, Tessel: Razvojni odbor za Node.js, izgradnja Interneta stvari, Tessel: Razvojni odbor Node.js Tessel je nova pasmina razvojna ploča koja u potpunosti radi na Node.js, a nakon uspješnog Kickstartera sada su dostigli točku da budu dostupni svima.), provjerite Google za službeni vodič za stil.

Ako tražite više akademskog čitanja o ovoj temi, potražite Clean Code: Handbook of Agile Software Craftsmanship Bob Martin. Spomenuo sam ga ranije u ovom članku, i dolazi vrlo preporučljivo. Iako koristi Java za ilustraciju koncepata, mnoge se ideje mogu prenijeti na druge jezike, poput Pythona i C za Arduino.

Na mreži je i nekoliko sjajnih postova na blogovima koji ilustriraju kako napisati dobar, opisni i čisti kod. Preporučujem vam da odjavite “Čist, kvalitetan kôd: vodič kako postati bolji programer” autor Arash Arabi pišući za butterfly.com.au i “Osnove pisanja čistog kodeksa” Chris Reynolds, pišući za webdevstudios.com.

Iako nisu izričito povezane s čistim kodom, također je korisno naučiti koje funkcije i knjižnice je najbolje izbjegavati na vašem jeziku po izboru. Na primjer, ako učite PHP, trebali biste izbjegavati “mySQL” biblioteke, a ako Arduino gradite fizičke proizvode, nikada ne smijete koristiti funkciju odgađanja Arduino funkcije kašnjenja i zašto je ne biste trebali koristiti Arduino odgodu funkciju i zašto je ne biste trebali koristiti dok je odgoda () prikladno za osnovne demonstracije kako Arduino radi, stvarno ga ne biste trebali koristiti u stvarnom svijetu. Evo zašto i što biste trebali koristiti umjesto toga. .

Zapamtite, kôd koji je lakše čitati lakše se održava. Osim toga, ako se ikada zaglavite u nečemu, netko će lakše pročitati i pomoći vam.

Imate li kakav savjet za pisanje čistog koda? Jesam li nešto propustila? Reci mi! Ostavite mi komentar ispod i javite mi.

Krediti za fotografije: suhi krevet (Premasagar), mali ključ TAB (Kai Hendry), 2015. (Wikilogia)




Abermotjep ([email protected])
05.07.20 22:23
anzeigen bekanntschaften aus steindorf am ossiacher see <a href=" https://dbminer.net/studenten-kennenlernen-in-hohenau-an-der-march.html ">studenten kennenlernen in hohenau an der march</a> seri se partnervermittlung aus esternberg <a href=" https://dbminer.net/schwarzach-flirten.html ">schwarzach flirten</a> trieben singles treffen <a href=" https://dbminer.net/schiefling-am-see-singles-aktiv.html ">schiefling am see singles aktiv</a> partnervermittlung aus hellmonsodt <a href=" https://dbminer.net/singlespeedshop-aus-yspertal.html ">singlespeedshop aus yspertal</a> frau sucht mann in bludesch <a href=" https://dbminer.net/buers-single-event.html ">burs single event</a> bekanntschaften weiblich burgenland <a href=" https://dbminer.net/roitham-singles.html ">roitham singles</a> neukirchen an der enknach singlespeedshop <a href=" https://dbminer.net/oberschuetzen-singleboerse.html ">oberschutzen singleboerse</a> kaltenleutgeben wo treffen sich singles <a href=" https://dbminer.net/kennenlernen-aus-tiefgraben.html ">kennenlernen aus tiefgraben</a> durnkrut speeddating <a href=" https://dbminer.net/matrei-in-osttirol-bekanntschaft.html ">matrei in osttirol bekanntschaft</a> moosburg blind dating <a href=" https://dbminer.net/kleinanzeigen-bekanntschaften-voldoepp.html ">kleinanzeigen bekanntschaften voldopp</a> casual dating in bad mitterndorf <a href=" https://dbminer.net/persoenliche-partnervermittlung-in-stadl-paura.html ">personliche partnervermittlung in stadl-paura</a> graz single dating <a href=" https://dbminer.net/schiefling-am-see-kleinanzeigen-sie-sucht-ihn.html ">schiefling am see kleinanzeigen sie sucht ihn</a> dates aus bisamberg <a href=" https://dbminer.net/nenzing-singles-kennenlernen.html ">nenzing singles kennenlernen</a> wolfsbach bekanntschaften <a href=" https://dbminer.net/markt-sie-sucht-ihn-in-gedersdorf.html ">markt sie sucht ihn in gedersdorf</a> treffen singles aus taiskirchen im innkreis <a href=" https://dbminer.net/menschen-kennenlernen-in-lichtenegg.html ">menschen kennenlernen in lichtenegg</a> dating aus vienna <a href=" https://dbminer.net/werndorf-dating-den.html ">werndorf dating den</a> gay dating in zell an der pram <a href=" https://dbminer.net/frantschach-st-gertraud-singleboersen.html ">frantschach-st. gertraud singleborsen</a> eggenburg partnervermittlung umgebung <a href=" https://dbminer.net/tulln-an-der-donau-single-frauen.html ">tulln an der donau single frauen</a> christliche singles in wolfsbach <a href=" https://dbminer.net/rannersdorf-treffen-frauen.html ">rannersdorf treffen frauen</a> liezen dating berry <a href=" https://dbminer.net/engerwitzdorf-singles-treffen.html ">engerwitzdorf singles treffen</a> wienerwald frauen treffen frauen
Abermotjep ([email protected])
05.07.20 21:45
singles den aus pernegg an der mur <a href=" https://rematesbancarios.com/sankt-ruprecht-an-der-raab-frauen-suchen-mann.html ">sankt ruprecht an der raab frauen suchen mann</a> spratzern frau sucht mann fur eine nacht <a href=" https://rematesbancarios.com/ebergassing-singlespeedshop.html ">ebergassing singlespeedshop</a> uttendorf partnersuche und umgebung <a href=" https://rematesbancarios.com/dating-seite-aus-arnoldstein.html ">dating seite aus arnoldstein</a> singles und umgebung aus reith im alpbachtal <a href=" https://rematesbancarios.com/natternbach-dating.html ">natternbach dating</a> mitterdorf an der raab bekanntschaft <a href=" https://rematesbancarios.com/tragwein-weibliche-singles.html ">tragwein weibliche singles</a> bekanntschaft aus linz <a href=" https://rematesbancarios.com/dating-seite-aus-neukirchen-am-grossvenediger.html ">dating seite aus neukirchen am gro?venediger</a> sie sucht ihn engerwitzdorf <a href=" https://rematesbancarios.com/gay-dating-in-dietersdorf.html ">gay dating in dietersdorf</a> casual dating in salzburg <a href=" https://rematesbancarios.com/mariatrost-meine-stadt-partnersuche.html ">mariatrost meine stadt partnersuche</a> uni leute kennenlernen kalsdorf bei graz <a href=" https://rematesbancarios.com/frau-single-in-sankt-pantaleon.html ">frau single in sankt pantaleon</a> junge leute kennenlernen aus gro?ebersdorf <a href=" https://rematesbancarios.com/laab-freizeit-singles.html ">laab freizeit singles</a> dating den in gro?ebersdorf <a href=" https://rematesbancarios.com/neustift-im-stubaital-singleboerse-kostenlos.html ">neustift im stubaital singleborse kostenlos</a> singles umgebung laakirchen <a href=" https://rematesbancarios.com/kostenlose-singleboerse-in-fraham.html ">kostenlose singleborse in fraham</a> simmering singles den <a href=" https://rematesbancarios.com/matzen-raggendorf-speeddating.html ">matzen-raggendorf speeddating</a> neue leute kennenlernen in deutschlandsberg <a href=" https://rematesbancarios.com/doppl-single-heute.html ">doppl single heute</a> reiche m nner kennenlernen aus oblarn <a href=" https://rematesbancarios.com/goldegg-frau-sucht-mann.html ">goldegg frau sucht mann</a> gro?dietmanns single frauen <a href=" https://rematesbancarios.com/single-boerse-aus-jakomini.html ">single borse aus jakomini</a> hafendorf er sucht sie markt <a href=" https://rematesbancarios.com/beste-dating-app-pernegg-an-der-mur.html ">beste dating app pernegg an der mur</a> kirchbichl single meine stadt <a href=" https://rematesbancarios.com/sankt-margarethen-an-der-raab-er-sucht-sie.html ">sankt margarethen an der raab er sucht sie</a> neualm reiche single manner <a href=" https://rematesbancarios.com/single-flirt-in-gniebing-weissenbach.html ">single flirt in gniebing-wei?enbach</a> dating service birkfeld <a href=" https://rematesbancarios.com/feistritz-ob-bleiburg-exklusive-partnervermittlung.html ">feistritz ob bleiburg exklusive partnervermittlung</a> sierndorf er sucht sie markt
Abermotjep ([email protected])
05.07.20 21:43
gotzendorf an der leitha single meine stadt <a href=" https://mysalenow.com/online-partnersuche-weitra.html ">online partnersuche weitra</a> casual dating in hall in tirol <a href=" https://mysalenow.com/rietz-singleboersen-kostenlos.html ">rietz singleborsen kostenlos</a> naarn im machlande mann sucht frau <a href=" https://mysalenow.com/reiche-frau-sucht-mann-aus-werndorf.html ">reiche frau sucht mann aus werndorf</a> solden kosten single <a href=" https://mysalenow.com/podersdorf-am-see-stadt-kennenlernen.html ">podersdorf am see stadt kennenlernen</a> singleboerse in ehrwald <a href=" https://mysalenow.com/leutasch-frau-sucht-mann-fuers-bett.html ">leutasch frau sucht mann furs bett</a> ybbsitz meine stadt singles <a href=" https://mysalenow.com/schalchen-treffen-singles.html ">schalchen treffen singles</a> obritzberg-rust treffen frauen <a href=" https://mysalenow.com/freizeit-singles-in-grossraming.html ">freizeit singles in gro?raming</a> kottmannsdorf frau sucht mann fur eine nacht <a href=" https://mysalenow.com/sankt-peter-in-der-au-markt-single-flirt.html ">sankt peter in der au markt single flirt</a> gro?ru?bach leute kennenlernen <a href=" https://mysalenow.com/lichtenau-im-waldviertel-kennenlernen.html ">lichtenau im waldviertel kennenlernen</a> single heute in klaus <a href=" https://mysalenow.com/gaming-private-partnervermittlung.html ">gaming private partnervermittlung</a> treffen in kitzbuhel <a href=" https://mysalenow.com/leute-kennenlernen-aus-unterweitersdorf.html ">leute kennenlernen aus unterweitersdorf</a> singlespeed fahrrad in langenfeld <a href=" https://mysalenow.com/pirka-flirt-kostenlos.html ">pirka flirt kostenlos</a> flirt kostenlos leopoldsdorf im marchfelde <a href=" https://mysalenow.com/bartholomaeberg-flirt-kostenlos.html ">bartholomaberg flirt kostenlos</a> wattens reiche frau sucht mann <a href=" https://mysalenow.com/reiche-m-nner-kennenlernen-aus-ehrenhausen-an-der-weinstrasse.html ">reiche m nner kennenlernen aus ehrenhausen an der weinstra?e</a> meine stadt bekanntschaften kaltenleutgeben <a href=" https://mysalenow.com/kostenlose-partnersuche-aus-wels.html ">kostenlose partnersuche aus wels</a> frauen aus kennenlernen hohenems <a href=" https://mysalenow.com/leute-kennenlernen-aus-fuerstenfeld.html ">leute kennenlernen aus furstenfeld</a> eferding dating seite <a href=" https://mysalenow.com/kittsee-studenten-dating.html ">kittsee studenten dating</a> kosten single in sankt lorenz <a href=" https://mysalenow.com/kleinanzeigen-partnersuche-in-waizenkirchen.html ">kleinanzeigen partnersuche in waizenkirchen</a> hochburg-ach treffen frauen <a href=" https://mysalenow.com/singlesuche-aus-rohrendorf-bei-krems.html ">singlesuche aus rohrendorf bei krems</a> treffen singles aus wullersdorf <a href=" https://mysalenow.com/taxach-nette-leute-kennenlernen.html ">taxach nette leute kennenlernen</a> singles umgebung viehofen
Abermotjep ([email protected])
05.07.20 20:59
degeberga dating <a href=" https://unam.net/edefors-traeffa-singlar.html ">edefors traffa singlar</a> bollebygd online dating <a href=" https://unam.net/ingatorp-belloe-dating-apps.html ">ingatorp-bello dating apps</a> bor dating site <a href=" https://unam.net/kvinna-soeker-man-gnarp.html ">kvinna soker man gnarp</a> billesholm dejt <a href=" https://unam.net/naeshult-och-stenberga-speed-dating.html ">nashult och stenberga speed dating</a> gora pa dejt i naset <a href=" https://unam.net/adolfsberg-dating-app.html ">adolfsberg dating app</a> gryta kvinna soker man <a href=" https://unam.net/dejta-i-vaesters.html ">dejta i vasteras</a> molnlycke dating <a href=" https://unam.net/hitta-sex-i-vingker.html ">hitta sex i vingaker</a> olofstrom hitta sex <a href=" https://unam.net/dejta-i-alunda.html ">dejta i alunda</a> gora pa dejt i bastad <a href=" https://unam.net/lima-transtrand-goera-p-dejt.html ">lima-transtrand gora pa dejt</a> arvika traffa tjejer <a href=" https://unam.net/oxeloesund-singlar.html ">oxelosund singlar</a> ingared dating sweden <a href=" https://unam.net/djurs-single.html ">djuras single</a> dating i asaka-bjorke <a href=" https://unam.net/nykoepings-alla-helgona-single.html ">nykopings alla helgona single</a> overkalix dejtingsajt <a href=" https://unam.net/gnghester-dating-sites.html ">ganghester dating sites</a> dating apps i langlot och runsten <a href=" https://unam.net/trosa-dejta-kvinnor.html ">trosa dejta kvinnor</a> dejta i alster-nyedsbygden <a href=" https://unam.net/dating-apps-i-vaestra-husby.html ">dating apps i vastra husby</a> satofta traffa tjejer <a href=" https://unam.net/surte-dejta.html ">surte dejta</a> single i siljansnas <a href=" https://unam.net/moetesplatser-foer-aeldre-i-sollefte.html ">motesplatser for aldre i solleftea</a> dating site vislanda <a href=" https://unam.net/hittarp-goera-p-dejt.html ">hittarp gora pa dejt</a> vange traffa singlar <a href=" https://unam.net/kvinna-soeker-man-edebo.html ">kvinna soker man edebo</a> gora pa dejt i varfruberga-harad <a href=" https://unam.net/floda-romantisk-dejt.html ">floda romantisk dejt</a> dejta kvinnor i johannedal
Abermotjep ([email protected])
05.07.20 20:57
dating apps i vaskinde <a href=" https://hayeshitzemanfoundation.org/dejt-aktiviteter-i-nora-bergsfoers.html ">dejt aktiviteter i nora bergsfors.</a> dejtingsajt arsunda <a href=" https://hayeshitzemanfoundation.org/oeverlule-dejta-kvinnor.html ">overlulea dejta kvinnor</a> vist dejta kvinnor <a href=" https://hayeshitzemanfoundation.org/glommen-dejta-kvinnor.html ">glommen dejta kvinnor</a> umea maria single <a href=" https://hayeshitzemanfoundation.org/kungsra-speed-dating.html ">kungsara speed dating</a> dating site rora <a href=" https://hayeshitzemanfoundation.org/dating-apps-i-skaftoe.html ">dating apps i skafto</a> karlskrona dejting <a href=" https://hayeshitzemanfoundation.org/traeffa-singlar-skaerholmen.html ">traffa singlar skarholmen</a> vist dejt <a href=" https://hayeshitzemanfoundation.org/olofstroem-dejting.html ">olofstrom dejting</a> sillerud dejt aktiviteter <a href=" https://hayeshitzemanfoundation.org/staffanstorp-dating-app.html ">staffanstorp dating app</a> dating sweden ulricehamn <a href=" https://hayeshitzemanfoundation.org/oerby-skene-kvinna-soeker-man.html ">orby-skene kvinna soker man</a> dejta i vasterlovsta <a href=" https://hayeshitzemanfoundation.org/dejting-gislaved.html ">dejting gislaved</a> traffa tjejer i orslosa <a href=" https://hayeshitzemanfoundation.org/dejting-dalstorp.html ">dejting dalstorp</a> bergkvara dating apps <a href=" https://hayeshitzemanfoundation.org/dejt-aktiviteter-i-bredbyn.html ">dejt aktiviteter i bredbyn</a> speed dating i tingstad <a href=" https://hayeshitzemanfoundation.org/dejtingsajt-graestorp.html ">dejtingsajt grastorp</a> dejting eksharad <a href=" https://hayeshitzemanfoundation.org/mikael-kvinna-soeker-man.html ">mikael kvinna soker man</a> dejting sabra <a href=" https://hayeshitzemanfoundation.org/ramsele-edsele-dating.html ">ramsele-edsele dating</a> karlskrona speed dating <a href=" https://hayeshitzemanfoundation.org/riseberga-singlar.html ">riseberga singlar</a> singel kvinna i uppvidinge <a href=" https://hayeshitzemanfoundation.org/kge-dejt.html ">kage dejt</a> kvinna soker man husby-langhundra <a href=" https://hayeshitzemanfoundation.org/traeffa-tjejer-i-torekov.html ">traffa tjejer i torekov</a> trollhattan dejtingsajt <a href=" https://hayeshitzemanfoundation.org/bors-traeffa-singlar.html ">boras traffa singlar</a> dejtingsajt lidkoping <a href=" https://hayeshitzemanfoundation.org/dejt-tullinge.html ">dejt tullinge</a> online dating i foss f
O modernoj tehnologiji, jednostavnoj i pristupačnoj.
Vaš vodič u svijetu moderne tehnologije. Naučite kako koristiti tehnologije i uređaje koji nas okružuju svaki dan i naučite kako otkriti zanimljivosti na Internetu.