Aplikacija ima intuitivno sučelje. Artyom, slažeš li se da samo duda ima intuitivno sučelje, sve ostalo treba proučiti? Budite tolerantni prema korisničkim pogreškama

Napuštaju li posjetitelji vašu web stranicu, a da nisu postali pretplatnici/potencijalni kupci/kupci?

Možda jednostavno ne mogu razumjeti što se događa na vašem resursu. Pa im pomozite da to shvate! Učinite stranicu jednostavnom za korištenje.

Ovdje je intuitivni dizajn koristan. Siguran sam da su mnogi čuli za njega, ali nitko ne može reći što je on.

Međutim, danas ću objasniti kako svoju web stranicu učiniti ugodnom za posjetitelje. Započnimo...

1. Jednostavnost je ključ uspjeha

Što je lakše koristiti svoju web stranicu, to je veći krug čitatelja/pretplatnika/potencijalnih klijenata. Što je jednostavnost? Tada osoba odmah shvati kamo treba krenuti da dobije ono što želi. Kad bi barem život bio ovakav!

Ne trebaju vam ultramoderna zvona i zviždaljke - intuitivni dizajn nije uočljiv. Ali u isto vrijeme, on sam usmjerava osobu kamo treba ići kako bi postigao svoj cilj. Kupujete li proizvod, pronaći ćete ga lako i brzo. Ako je ovo čitanje članka, bit će zgodno i ugodno to učiniti. Korisniku je svaka nova radnja očigledna; on ne gubi vrijeme razmišljajući što učiniti sljedeće.

Korisničko iskustvo ovdje igra važnu ulogu. Zamislite situaciju: došli ste u autosalon po automobil svojih snova. Rekli su prodavaču u bojama kakav bi trebao biti. I onda vam kaže da imaju ono što vam treba! Vi, u iščekivanju dugo očekivanog poznanstva, doslovno letite do svoje "ljepotice" i ... Odjednom se ispostavlja da nema ručke ni na jednom od njezinih vrata! Kakva šteta! Kako doći do salona?

Ovaj primjer pokazuje kakav dizajn web stranice NE bi trebao biti. Ne bi trebao odvlačiti pažnju osobe i stvarati mu situacije bez očitog rješenja. Sjajno je kada se posjetitelj kreće po stranici bez gubitka glavne ideje. Usredotočen je na svoj zadatak, a dizajn mu pomaže u ostvarenju. Kada osoba treba stalno stati i razmišljati o tome što učiniti sljedeće, on je ometen od glavnog cilja. Stoga će, kako bi se spasio od poteškoća, jednostavno zatvoriti stranicu.

Želite li primjer jednostavne i pregledne stranice? Posjetite naš Laboratorij znanja. Ovdje vas ništa neće omesti korisni članci, jer osim njih ovdje nema ničega. Jednostavno je nemoguće izgubiti se.

2. Glavni problem: tko može razumjeti vaš dizajn?

Na internetu postoji mnogo resursa koji iritiraju posjetitelje. Zašto svi ne izrađuju web stranice s intuitivnim dizajnom? Uostalom, to je ono što ljudima treba. Ali sve nije tako jednostavno, jer su svi korisnici različiti. Ono što je jednoj osobi lako i razumljivo, drugoj se može činiti kao kineski znakovi.

Siguran sam da je svaka web stranica napravljena s dobrim namjerama. Ali češće nego ne, web stranice su intuitivne samo za njihove programere. Zašto? Banalno je, ali istinito: dizajneri i dizajneri izgleda ne zamaraju se provjeravanjem jesu li "obični" ljudi zadovoljni korištenjem njihove kreacije.

Skloni su misliti da svi percipiraju svijet na isti način kao i oni. Ali stvaranje istinski intuitivnog dizajna počinje s razumijevanjem vaših korisnika. Dakle, prvo odredite kako će oni doživjeti vašu stranicu.

3. Znanje koje postoji i znanje koje je potrebno

Osoba dolazi na vašu stranicu s određenim razumijevanjem kako stvari trebaju funkcionirati. To je znanje koje on već ima. Ali možda postoji nešto u dizajnu vaše web stranice što korisnik ne razumije.

Razlika između onoga što jest i onoga što je potrebno je "jaz u znanju". Ako je ono minimalno i korisnik brzo popunjava nedostajuće znanje, vaše sučelje je intuitivno. Ali problem je u tome što vaši posjetitelji mogu biti i iskusni korisnici i ljudi koji su doslovno prvi put vidjeli računalo prije samo tjedan dana.

Ako radite s uskom ciljnom skupinom, lakše ćete izraditi udobnu web stranicu. Ako imate široku publiku, stvaranje intuitivnog dizajna postat će zadatak sa zvjezdicom. U takvoj situaciji preporučam ciljanje na "nenaprednijeg" posjetitelja.

4. Kako koristiti konceptualne modele

Zvuči malo komplicirano? Sada ću sve objasniti :) Ako osoba prvi put posjeti vašu stranicu, to ne znači da je njegovo znanje ravno nuli.

Recimo da nikada niste ništa kupili online. Ali u stvarnom svijetu, učinili ste to tisuće puta. Stoga, ako vas sjednem za računalo, pokažem vam određenu trgovinu i kažem vam da ovdje možete kupiti sve što vam treba, brzo ćete shvatiti kako to učiniti. Iskoristit ćete prednost koncepta offline kupnje i steći novo iskustvo.

Ovdje je stranica popularne online trgovine. Njegov dizajn vam sam govori što učiniti kako biste dobili odabrani proizvod. Kada kliknete gumb "Kupi", željeni artikl se pojavljuje u vašoj virtualnoj košarici. Sve radite kao u običnoj trgovini, samo još uvijek možete ispijati čaj sjedeći za monitorom.

Ako posjetitelj ima iskustva s online kupnjom, ali nikada nije kupovao na ovoj stranici, njegov će konceptualni model biti malo drugačiji. On već zna što i kako treba učiniti, a svoje će iskustvo jednostavno primijeniti na novi resurs.

Kada izrađujete web stranicu, imajte na umu kakvo iskustvo vaš potencijalni kandidat već ima. Ako mu resurs ne odgovara konceptualni model, osoba će odlučiti da je stranicu teško koristiti i... otići će.

5. Proučite svog posjetitelja

Za stvaranje intuitivnog dizajna važno je saznati što vaši posjetitelji već znaju i što trebaju znati. Postoje 2 sjajni načini definiraj ovo:

1. Istražite. Promatrajte kako posjetitelji koriste web stranice u svojim uobičajenim postavkama. To će vam dati ideju o njihovom trenutnom znanju. Ova metoda nije jednostavna, ali postoji alternativa.

2. Učenje na daljinu. Odaberite grupu ljudi koji će koristiti stranicu. Dajte im niz zadataka i zamolite ih da komentiraju što misle o izvedbi resursa. Što i kako oni misle da treba učiniti? Što im pomaže, a što odmaže? Koje su smetnje? Na taj način ćete odrediti koja znanja potencijalni posjetitelj treba steći.

Važno! U svakom slučaju, vi samo promatrate, donosite zaključke i ne miješate se. Pokušajte i brzo ćete otkriti što nije u redu. Usput, nemojte se zamarati velikim brojem sudionika; samo 10 je dovoljno da identificirate 90% problema.

Izvedeni zaključci pomoći će u opisivanju ljudi za koje će stranica biti izrađena.

6. Intuitivna formula dizajna

Idealno izgleda ovako: trenutno znanje = potrebno znanje.

Korisnici sami identificiraju 2 uvjeta pod kojima je dizajn web stranice intuitivan:

  1. Točka trenutnog znanja i potrebno znanje približno isti. Korisnici mogu lako odrediti što bi trebali učiniti kako bi postigli svoje ciljeve na stranici.
  2. Poanta trenutnog znanja i potrebnog znanja udaljeni su jedno od drugog, ali dizajn pomaže popuniti prazninu. Posjetitelji uče neprimjetno i prirodno.

Najbolje je da dizajn bude što jednostavniji kako ne bi bilo potrebe za učenjem ili uputama koje treba slijediti. Savršeno ilustrira prvi uvjet Google tražilica. Ne može se koristiti neispravno. Jednostavan je, kao i sve genijalno.

Pogledajmo ispunjenje drugog uvjeta na primjeru naše web stranice. Ovdje nema nepotrebnih detalja, nećete biti ometeni ogromnim nizom, a gumbi i strelice pokazuju gdje se kretati i što možete saznati.

Odnosno, prilikom izrade dizajna možete ga maksimalno pojednostaviti kako biste ga približili znanju i iskustvu koje posjetitelji imaju. Ili im možete dati nova znanja kroz upute. Također možete kombinirati ova dva pristupa ako želite.

7. Intuitivna navigacija i pretraživanje

76% kupaca kaže da im je najvažnija stvar u dizajnu web stranice "koliko mi je lako pronaći ono što trebam". Za zgodne pretrage potrebna je pravilna navigacija.

Na primjer, u online trgovini važno je logično sortiranje kartica proizvoda. Izbornik bi vam trebao reći kamo ići da biste stigli do odredišta. Da biste ispravno imenovali stavke izbornika, koristite krilatice. Oni će vam reći što se krije iza svakog dijela.

Upamtite! 50% posjetitelja online trgovine odustane od kupnje jer ne mogu pronaći ono po što su došli. Stoga ne možete bez pretraživanja stranice. Trgovina Rozetka ima ogroman asortiman. Ali u središtu zaslona nalazi se traka za pretraživanje. Stoga ne morate dugo razmišljati što učiniti.

Mali savjet: povezivanje pretraživanja web mjesta s alatom. To će povećati konverziju, jer će sam Google reći osobi što može pronaći ovdje.

8. Zapamtite: ljudima je ugodnije koristiti stranice na koje su navikli.

Postoje pravila kojih se treba pridržavati kako bi dizajn vašeg resursa bio intuitivan:

  • Klikom na logo tvrtke (koji se nalazi u gornjem lijevom kutu) uvijek se dolazi na glavnu stranicu;
  • Zadnji link u horizontalni izbornik ili donji u okomitom izborniku su kontakti;
  • Kontakt podaci su duplicirani na dnu;
  • Svi elementi su dosljedni: stavke izbornika ostat će na istom mjestu, bez obzira na to kako se krećete po stranici;
  • Veze se ističu na pozadini običnog teksta;
  • Ako se korisnici mogu i trebaju pomicati prema dolje, klizač je jasno vidljiv;
  • Lijevo poravnat tekst je lakši za čitanje;
  • Skočne poruke vam pomažu razumjeti sučelje;
  • Stavke izbornika su imenovane jasnim riječima(Ne biste trebali napraviti gumb "Informacijska podrška" umjesto stavke "Kontakti").

U svakom pravilu postoje iznimke. Ali bolje je pridržavati se ovih preporuka i pažljivo razmotriti sve inovacije. Provjerite ispunjava li sučelje vaše web stranice očekivanja ljudi.

9. Oprezno s redizajnom

20% korisnika troši 80% svojih prihoda na internetu. Ovo su oni važni ljudi, na koje će redizajn najviše utjecati. Oni su već navikli kako stvari funkcioniraju. Dakle, kada redizajnirate web stranicu, prije svega je mijenjate za njih. A mnogi ljudi ne vole kada stvari nisu kao inače.

Zapamtite: svaka prerada može produbiti jaz u znanju. Stoga, ako stranica prestane biti intuitivna za posjetitelje, može se značajno smanjiti, što znači da ćete izgubiti dio zarade.

Ako ne možete bez redizajna, s vremena na vrijeme napravite male promjene. Ovo je bolje od globalnih promjena. Na taj način možete analizirati kako ljudi reagiraju na svaku inovaciju. Ali ako vaša stranica ima malo prometa upravo zbog svog dizajna, slobodno napravite veliku reviziju.

Konačno

Vaša bi stranica trebala biti intuitivna za vaše ključne posjetitelje. Uostalom, to će pomoći u postizanju njihove lojalnosti i povećanju konverzije. Stoga proučite ponašanje posjetitelja i uvijek testirajte promjene sučelja.

Isprobajte ovih 9 savjeta u praksi. Vidjet ćete da rast konverzije neće dugo trajati.

Je li bilo od pomoći? Slobodno označite "Sviđa mi se"! Ovo će pokazati da želite znati više o dizajnu i uskoro ću pripremiti novi post na ovu temu.

Postoji mnogo podataka o razne metode dizajn korisničko sučelje, koje možete koristiti prilikom izrade web stranice ili programskog sučelja.
Sastavio sam popis od 8 karakteristika koje smatram ključnim za uspješno korisničko sučelje.

Dostupnost

Dostupnost je najviše važan element dizajn! U biti, cjelokupna svrha korisničkog sučelja je omogućiti korisnicima interakciju s vašim sustavom. Ako osoba ne može razumjeti kako vaša aplikacija radi, samo će biti zbunjena i na kraju frustrirana. Zato, kada dizajnirate sučelje vaše aplikacije ili web stranice, svakako provjerite je li ono intuitivno za vašeg korisnika.

Što ovaj gumb radi? Pomaknimo pokazivač i čitajmo.

Minimalizam

Užurbano opterećenje neprijatelj je dobrog korisničkog iskustva. Lako je upasti u zamku prevelike dostupnosti - dodavanjem sve više i više kontrola činite veliku pogrešku pretrpavajući sučelje. Vaše sučelje raste, a korisnik će biti prisiljen puno čitati kako bi shvatio što se gdje nalazi i za koju svrhu.
Neka stvari budu jasne, ali s minimalnim neredom. Ako možete opisati priliku u jednoj rečenici umjesto u tri, učinite to. Kada možete označiti element jednom riječju umjesto dvije, učinite to. Uštedite vrijeme svojih korisnika, čak i ako praktičnost i minimalizam zahtijevaju puno vremena, ali će vaš trud biti nagrađen.

Kontrolna ploča za razinu zvuka u OS X. Kratko i pristupačno, ništa suvišno.

Povjerenje

Mnogi dizajneri nastoje sučelja učiniti "intuitivnima". Ali što zapravo znači "intuitivno"? To znači da korisnici moraju instinktivno razumjeti i imati smisla za mogućnosti dizajna. Ali kako možete napraviti nešto intuitivno? Dizajnirate stvari koje su vam poznate, a ono što vam se može činiti očiglednim može biti neugodno i izazovno za korisnike.
Zamolite svoje rođake i prijatelje da izvrše neke radnje putem vašeg sučelja, na primjer, naručite proizvod ako vaše sučelje uključuje prodaju nečega. Promatrajte svaku radnju korisnika, pogreške koje čini. Na taj način ćete nakupiti niz propusta u sučelju koji kompliciraju interakciju sustava s korisnikom. I tek nakon korekcije problematična područja, vaše sučelje može biti spremno za rad.

Intuitivno jasno sučelje GoPlan. Oznake na karticama čine sadržaj odjeljka jasnim korisniku.

Responzivnost

Responzivnost znači nekoliko stvari. Sučelje web stranice mora biti vrlo brzo. Dugo čekanje da se stranica učita je neugodno. Pobrinite se da se stranica učitava što je brže moguće, čak i na sporim internetskim kanalima.
Responzivnost znači i neki stalni oblik interakcije s korisnikom. Sučelje bi trebalo informirati korisnika o tome što se događa. Na primjer, kliknete gumb za slanje poruke. Ako je poruka poslana putem AJAX-a, bilo bi mudro prikazati statuse slanja kao što su "Slanje...", "Poruka poslana" ili "Pogreška pri slanju poruke". Kada korisnik vidi napredak, osjeća se smirenije. To je posebno vidljivo na sporim internetskim kanalima.

Dok se Gmail učitava, pojavljuje se traka napretka.

Prikladan kontekst

Prilikom odabira određene odluke Prilikom izrade dizajna uzmite u obzir vrstu sadržaja stranice. Razne stranice može sadržavati sadržaj različite vrste. Prilagodite svaku stranicu odgovarajućem sadržaju, napravite kontrole koje korisniku olakšavaju rad sa stranicom i pokušajte to učiniti. Ali ne zaboravite na minimalizam!
Na taj način, nakon rada s vašim kontrolama, korisnik će se naviknuti na njih i daljnji rad s vašim resursima za njega će biti "obična" stvar.


MS Office kontrole, različite za svaku vrstu sadržaja.

Atraktivnost

Iako bi ovo moglo biti donekle kontroverzno, vjerujem da bi dobro sučelje trebalo biti privlačno. Sučelje prilagođeno korisniku čini rad s njim ugodnim. Da, sučelje možete učiniti jednostavnim za korištenje, učinkovitim i responzivnim, a ono će savršeno obavljati svoj posao - ali ako ovom popisu prednosti dodate i atraktivnost, rad s njim bit će čisti užitak!
Ali teško je napraviti sučelje koje će se svidjeti svima. Svatko ima svoje preferencije i ono što se nekome čini lijepim, drugom će se gaditi. Međutim, korisnici se mogu podijeliti u određene društvene/demografske skupine, koje će uključivati ​​one u vašoj ciljanu publiku. Na primjer, sučelje za grupu "mlade majke" bit će potpuno drugačije od onog za "menadžere prodaje autodijelova".

Učinkovitost

Korisničko sučelje je alat za upravljanje. Omogućuje pristup razne funkcije svoju aplikaciju ili web stranicu. Lijepo sučelje treba omogućiti korisniku da uz najmanje napora izvede radnju koja ga zanima.
Vrlo je važno razumjeti na čemu korisnik najčešće želi postići određenu stranicu. Nema potrebe nabrajati sve značajke vašeg projekta koje najčešće zanimaju samo korisnika mali dio ovaj popis.
Pobrinite se da korisnik može trenutno pronaći najkorisnije i najpotrebnije funkcije, to će uvelike pojednostaviti njegovu komunikaciju s projektom.

Tri najčešće izvođene radnje na fotografijama u Apple iPhone kombinirani u zajednički popis s trenutnim pristupom.

Snishodljivost

Nitko i ništa nije savršeno. Budite spremni da korisnici pogriješe kada rade s vašim projektom. To se može dogoditi ili vašom krivnjom ili krivnjom korisnika. Sve morate kompetentno riješiti moguće greške- ovo će biti jedan od glavnih pokazatelja kvalitete vašeg projekta. Nemojte kažnjavati korisnika - razvijte "blago" sučelje.
Podatke morate zaštititi od slučajnih radnji korisnika. Na primjer, ako netko izbriše važne informacije, navedite način za njihov oporavak. Kada korisnik ode na nepostojeće stranice, nemojte ga plašiti pogreškama poslužitelja, umjesto toga dajte popis alternativnih smjerova kojima može ići.
Sviđa mi se način na koji je dizajnirana Yandexova stranica pogreške 404.

Slučajno izbrisano važne informacije u Gmailu. Nema problema, možemo otkazati akciju!

Zaključak

Radeći na postizanju jedne od ovih karakteristika, možete stvoriti probleme u postizanju druge. Na primjer, kada pokušavate učiniti sučelje razumljivijim, možete dodati puno opisa i objašnjenja, što u konačnici čini sučelje još glomaznijim i neprikladnijim. Ili smanjenje materijala radi postizanja minimalizma može stvari učiniti neshvatljivima prosječnom korisniku. Postizanje ravnoteže zahtijeva vještinu i vrijeme, i zapamtite da će se vaše dizajnerske odluke vjerojatno razlikovati od projekta do projekta. Ono što je važno za jednoga ne mora biti prihvatljivo za drugoga.
Volio bih čuti vaše komentare o ovom članku.

Kolokacija intuitivno - jasno sučelje , koji se nalazi u gotovo svim aktualnim tehničkim specifikacijama, na tehnički pismene ljude djeluje kao crvena krpa na bika. To je sasvim razumljivo: tijekom O ali kada su GOST standardi bili obvezni, bilo je nemoguće pročitati takve gluposti bilo gdje. I reakcija tih ljudi je prirodna - ali gdje su onda zahtjevi za takvim "intuitivcem" u smislu njegovog (korisnikovog) razumijevanja i intuicije?! Razriješimo pitanje intuitivnosti jednom zauvijek. Uvodnik od 20. lipnja 2018.

Što je intuitivno sučelje?

Kreirano 08/08/2016 16:50:33

O intuitivnom sučelju, o kojem se toliko govorilo... ne, ne boljševici, nego programeri upotrebljivosti, pogledajte Strašnu istinu o upotrebljivosti. Dio I, Zastrašujuća istina o upotrebljivosti. Dio II i zastrašujuća istina o upotrebljivosti. Deset godina kasnije. Evo jedne od rasprava koje su se povele među ovim, da tako kažemo, “specijalcima” koji su do guše u upotrebljivosti

Dakle, idemo točku po točku. Istina je i prvo i drugo: da, jasno je kako drug dosljedno pokušava shvatiti istinu u njezinoj krajnjoj instanci. Za sada preskočimo treću točku. Točka četiri - slažemo se u potpunosti! I s petim također. Ali!

Pogledajmo sada što kaže GOST 21480-76. . . Opći ergonomski zahtjevi, citiramo:

Navika se shvaća kao veza između ideja koje se javljaju u osobi na temelju prošlih iskustava. Na primjer, osoba je navikla prikazati nešto, predstavljajući njegov razvoj s lijeva na desno. Prilikom sređivanja mnemotehničkog dijagrama trebali biste uzeti u obzir ovaj poznati prikaz i prikazati razvoj slijeva nadesno.

Ovo je iz Dodatka 1 GOST 21480-76. Odmah gledamo sliku, naime na str. 1, 2 i 5. Jesu li svi isti? S najvećom preciznošću!

dakle, intuitivno - jasno sučelje - mnogi ljudi koji su tehnički nepismeni bi to rekli; uobičajeno -povezano Možete, naravno, pokušati prigovoriti ... Ali nije li sučelje mnemonički dijagram i nije li sastavljeno od istih elemenata mnemoničkog dijagrama, koristeći iste?

To je cijeli problem. Ali jedno pitanje ostaje: ZAŠTO je postojala potreba za raspravom 2010. (točka 3) o nečemu što je jasno formulirano već u 1976 godina ?! I onda, da... vidi točku 4 na slici.

Zaključak: sleng intuitivno - jasno sučelje po kojekakvim Raskinima i Normanima potpuno je legalizirana od strane države uobičajeno - povezano sučelje . Rat je gotov, hvala svima!

P.S. Usput, piktogram s nožem i vilicom nije ništa više od elementa mnemotehničkog dijagrama

P.P.S. Zašto sve toliko privlače škrabotine kojekakvih Raskina, Normana i ostalih bezakonih i mješanaca John Smitha, kad postoji, recimo, njihov vlastiti Mihailo Lomonosov? Kowtowling na Zapad? Ili je to generacija koju su Amerikanci iskvarili i trune na lozu? (

U svom relativno kratkom radnom iskustvu (oko 6 godina) često sam čuo fraze od iskusnih programera i početnika - “Osjećam da bi ovo trebalo raditi”, “Imam osjećaj da ova metoda neće raditi”, “Učinimo to intuitivno ". jasno sučelje" i tako dalje. Sve je to manifestacija intuicije u procesu razvoja i programiranja.
Razgovor će ići dalje o njoj.

Preuzeto s oprah.com

Za početak, želio bih definirati sam pojam “intuicije”.

Intuicija (kasnolatinski intuitio - "kontemplacija", od glagola intueor - pozorno gledanje) je metoda rješavanja problema trenutnim podsvjesnim zaključivanjem, na temelju mašte, empatije i prethodnog iskustva, "osjećaja", uvida.

"Wikipedia"


Intuicija (od latinskog intueri - pažljivo, pažljivo gledati) je misaoni proces koji se sastoji od gotovo trenutnog pronalaženja rješenja problema uz nedovoljnu svijest o logičnim vezama.

Intuicija (od lat. intueri - pozorno, pažljivo gledati) je znanje koje nastaje bez svijesti o načinima i uvjetima njezina stjecanja, zbog čega ga subjekt ima kao rezultat "izravne diskrecije".

Osnova ovih definicija je da je intuicija određeni način donošenja odluka. Za ovu metodu može postojati nekoliko razloga: prethodno iskustvo, mašta, iracionalan "osjećaj" itd.

I svaka od ovih metoda odražava se u procesu programiranja i može imati i pozitivne i negativne učinke.

Stoga, prije svega, želio bih podijeliti "intuitivno" programiranje u 2 komponente: - optimističan i pesimističan

Optimističko intuitivno programiranje

Njegova bit leži u optimističnom ili pozitivnom utjecaju intuicije na proces stvaranja koda. U u ovom slučaju intuicija je pomoćnik," dobar prijatelj", alat u rukama programera.

Intuicija temeljena na iskustvu

Glavna ideja ovdje je da u procesu akumulacije razvojnog iskustva razvijamo određene stereotipe i asocijacije povezane s kodom, koje možemo utvrditi bez ulaženja u misaoni proces.

Velik broj primjera korištenja takve intuicije u radnim procesima opisao je Dmitry Chepel iz Acronisa u svom članku na Habréu. Ako ga još niste pročitali, svakako ga pročitajte.

Želio bih vam ponuditi još jedan primjer eksperimenta. Ispod je primjer koda na Sidef jeziku (nadam se da ga mnogi od vas ne znaju). Pokušajte, ne ulazeći previše u detalje, pogoditi o čemu govori:

Petlja ( var zamijenjena = laž ( |i| if (arr > arr[i]) ( arr = arr zamijenjena = istina) ) * arr.end zamijenjena || break ) return arr

Možda su neki od vas pogodili o čemu govorimo nakon što su vidjeli poznate dijelove koda, možda neki nisu. Pokušao sam provesti ovaj eksperiment na maloj skupini programera koje sam poznavao i rezultat je bio sljedeći: više od polovice (oko 65%) ljudi bilo je u stanju razumjeti što se događa u vrlo kratkom vremenu.

Pitao sam ih kako mogu pogoditi - a najpopularniji odgovor je bio:
“Vidjeli smo poznate dijelove koda i odmah pogodili o čemu se radi.”

Dakle, skupljajući iskustvo, naš mozak je sposoban vrlo brzo, bez dodatnog mentalnog napora, donositi odluke o kodu s kojim radimo.

Upravo zbog toga mislimo da iskusniji programeri imaju određeni "osjećaj" o projektu ili programskom jeziku.

Intuicija zasnovana na logici

Pokušajte nastaviti sljedeći red:
Sigurno niste ni na trenutak pomislili koji će broj biti sljedeći.
Ovo je jednostavan primjer uzorka koji možemo nastaviti doslovno bez razmišljanja.

Ali što ako uzmemo sljedeći dio Python koda kao primjer:

Def zbroj(a, b): ... def mult(a, b): ... def oduzimanje(a, b): ... def dijeljenje(a, b): ... def izračunavanje(a, b , strategija): ... izračunaj(4, 2, zbroj) #6 izračunaj(4, 2, mult) #8 izračunaj(4, 2, oduzmi) #2 izračunaj(4, 2, podijeli) #??
Bez da sam i vidio izvorni kod, "intuitivno" osjećamo kakav će biti rezultat izvršavanja zadnje funkcije na popisu.

To se događa zbog činjenice da analiziramo nazive funkcija, uspoređujemo ih s dobivenim rezultatom i tako gradimo neke obrasce i pretpostavke o kodu koji se analizira. Dakle, koristimo se svojom intuicijom, potkrijepljenom logikom, za čitanje takvog koda.

Ovdje bih želio napomenuti da kod koji odgovara našim pretpostavkama, našoj intuiciji, obično nazivamo "čitljiv", "razumljiv" kod. To je zbog činjenice da ne koristimo samo resurs našeg mozga, već i našu intuiciju, čime se pojednostavljuje čitanje i razumijevanje koda.

Intuitivno sučelje

A sada bih želio prijeći na tako često korišten izraz kao što je "intuitivno sučelje". Ovo se odnosi i na softver i na korisničko sučelje.
S obzirom na gore navedeno, možemo reći da je intuitivno sučelje ono sučelje koje ispunjava očekivanja korisnika, bilo da se radi o programeru ili krajnji korisnik.

Ta se očekivanja formiraju na temelju 2 komponente - našeg prethodnog iskustva i logičnih obrazaca i pretpostavki.

Kad bi sve stranice vaše web stranice imale izbornik na vrhu, ali na stranici Povratne informacije izbornika s lijeve strane, krajnji korisnik može biti pomalo zbunjen jer mu njegova "intuicija" govori da bi izbornik trebao biti na vrhu.

Ali zašto ponekad kada odemo na neku web stranicu sa originalni dizajn ili novi mobilna aplikacija, imamo li osjećaj da ova stranica izgleda cool ili užasno?

Intuicija kao iracionalna

Osnova takvog suda je da se intuicija često rađa kao jednostavno osjećanje nečega, nepotkrijepljeno nikakvim zaključcima, logikom ili iskustvom.

Ova vrsta intuicije je najopasnija u razvoju, ali je u isto vrijeme i način brzo rješenje složeni problemi.

Upravo to se u programiranju zove “magija” - promijenimo vrijednost jedne varijable ili zastavice i nekim čudom naš kod počne raditi, iako je ta odluka donesena apsolutno instinktivno. I upravo je ova vrsta intuicije njezina prava manifestacija.

Pesimističko instinktivno programiranje

Ali intuicija može biti i negativna tijekom razvoja.

Kao što je gore spomenuto, "iracionalna" intuicija je i spas i opasan alat u rukama programera.

Oslanjajući se na takve instinktivne odluke, gubimo povjerenje u kod koji pišemo, u kojem se “čarolija” počinje događati.

Važno je da takve odluke stvaraju određenu razinu tjeskobe pri donošenju naknadnih odluka. Prevladavanje osjećaja, senzacija i iracionalnog u razvoju dovodi do nemogućnosti da se sve opravda logikom, a kao rezultat toga dolazi do složenosti razumijevanja koda i gubitka čitljivosti.

Kao zaključak

Općenito, to je stvar intuicije pri razvoju softver Ovo nije prvi put da raste.
To je zbog činjenice da će problem utjecaja procesa koji nisu povezani s logikom i mišljenjem na proces pisanja koda ostati aktualan, budući da je tim procesom okupirana osoba koja ima osjećaje, predrasude i "iracionalna".

p.s. Za one koje zanima tema intuicije u razvoju softvera, savjetujem vam da pročitate

26. prosinca 2016. u 22:23

Intuitivno programiranje

  • Otklanjanje pogrešaka
  • Programiranje,
  • Savršen kod

U svom relativno kratkom radnom iskustvu (oko 6 godina) često sam čuo fraze od iskusnih programera i početnika - “Osjećam da bi ovo trebalo raditi”, “Imam osjećaj da ova metoda neće raditi”, “Učinimo to intuitivno ". jasno sučelje" i tako dalje. Sve je to manifestacija intuicije u procesu razvoja i programiranja.
Razgovor će ići dalje o njoj.

Preuzeto s oprah.com

Za početak, želio bih definirati sam pojam “intuicije”.

Intuicija (kasnolatinski intuitio - "kontemplacija", od glagola intueor - pozorno gledanje) je metoda rješavanja problema trenutnim podsvjesnim zaključivanjem, na temelju mašte, empatije i prethodnog iskustva, "osjećaja", uvida.

"Wikipedia"


Intuicija (od latinskog intueri - pažljivo, pažljivo gledati) je misaoni proces koji se sastoji od gotovo trenutnog pronalaženja rješenja problema uz nedovoljnu svijest o logičnim vezama.

Intuicija (od lat. intueri - pozorno, pažljivo gledati) je znanje koje nastaje bez svijesti o načinima i uvjetima njezina stjecanja, zbog čega ga subjekt ima kao rezultat "izravne diskrecije".

Osnova ovih definicija je da je intuicija određeni način donošenja odluka. Za ovu metodu može postojati nekoliko razloga: prethodno iskustvo, mašta, iracionalan "osjećaj" itd.

I svaka od ovih metoda odražava se u procesu programiranja i može imati i pozitivne i negativne učinke.

Stoga, prije svega, želio bih podijeliti "intuitivno" programiranje u 2 komponente: - optimističan i pesimističan

Optimističko intuitivno programiranje

Njegova bit leži u optimističnom ili pozitivnom utjecaju intuicije na proces stvaranja koda. U ovom slučaju, intuicija je pomoćnik, "dobar prijatelj", alat u rukama programera.

Intuicija temeljena na iskustvu

Glavna ideja ovdje je da u procesu akumulacije razvojnog iskustva razvijamo određene stereotipe i asocijacije povezane s kodom, koje možemo utvrditi bez ulaženja u misaoni proces.

Velik broj primjera korištenja takve intuicije u radnim procesima opisao je Dmitry Chepel iz Acronisa u svojoj. Ako ga još niste pročitali, svakako ga pročitajte.

Želio bih vam ponuditi još jedan primjer eksperimenta. Ispod je primjer koda na Sidef jeziku (nadam se da ga mnogi od vas ne znaju). Pokušajte, ne ulazeći previše u detalje, pogoditi o čemu govori:

Petlja ( var zamijenjena = laž ( |i| if (arr > arr[i]) ( arr = arr zamijenjena = istina) ) * arr.end zamijenjena || break ) return arr

Možda su neki od vas pogodili o čemu govorimo nakon što su vidjeli poznate dijelove koda, možda neki nisu. Pokušao sam provesti ovaj eksperiment na maloj skupini programera koje sam poznavao i rezultat je bio sljedeći: više od polovice (oko 65%) ljudi bilo je u stanju razumjeti što se događa u vrlo kratkom vremenu.

Pitao sam ih kako mogu pogoditi - a najpopularniji odgovor je bio:
“Vidjeli smo poznate dijelove koda i odmah pogodili o čemu se radi.”

Dakle, skupljajući iskustvo, naš mozak je sposoban vrlo brzo, bez dodatnog mentalnog napora, donositi odluke o kodu s kojim radimo.

Upravo zbog toga mislimo da iskusniji programeri imaju određeni "osjećaj" o projektu ili programskom jeziku.

Intuicija zasnovana na logici

Pokušajte nastaviti sljedeći red:
Sigurno niste ni na trenutak pomislili koji će broj biti sljedeći.
Ovo je jednostavan primjer uzorka koji možemo nastaviti doslovno bez razmišljanja.

Ali što ako uzmemo sljedeći dio Python koda kao primjer:

Def zbroj(a, b): ... def mult(a, b): ... def oduzimanje(a, b): ... def dijeljenje(a, b): ... def izračunavanje(a, b , strategija): ... izračunaj(4, 2, zbroj) #6 izračunaj(4, 2, mult) #8 izračunaj(4, 2, oduzmi) #2 izračunaj(4, 2, podijeli) #??
Čak i bez da vidimo izvorni kod, "intuitivno" osjećamo kakav će biti rezultat izvršavanja zadnje funkcije na popisu.

To se događa zbog činjenice da analiziramo nazive funkcija, uspoređujemo ih s dobivenim rezultatom i tako gradimo neke obrasce i pretpostavke o kodu koji se analizira. Dakle, koristimo se svojom intuicijom, potkrijepljenom logikom, za čitanje takvog koda.

Ovdje bih želio napomenuti da kod koji odgovara našim pretpostavkama, našoj intuiciji, obično nazivamo "čitljiv", "razumljiv" kod. To je zbog činjenice da ne koristimo samo resurs našeg mozga, već i našu intuiciju, čime se pojednostavljuje čitanje i razumijevanje koda.

Intuitivno sučelje

A sada bih želio prijeći na tako često korišten izraz kao što je "intuitivno sučelje". Ovo se odnosi i na softver i na korisničko sučelje.
S obzirom na gore navedeno, možemo reći da je intuitivno sučelje ono sučelje koje ispunjava očekivanja korisnika, bilo programera ili krajnjeg korisnika.

Ta se očekivanja formiraju na temelju 2 komponente - našeg prethodnog iskustva i logičnih obrazaca i pretpostavki.

Ako sve stranice na vašem web-mjestu imaju izbornik na vrhu, ali na stranici s povratnim informacijama izbornik na lijevoj strani, onda bi krajnji korisnik mogao biti malo zbunjen jer je njihov "osjećaj" da bi izbornik trebao biti na vrhu.

Ali zašto ponekad kada posjetimo web stranicu s originalnim dizajnom ili novom mobilnom aplikacijom, imamo osjećaj da ta stranica izgleda cool ili užasno?

Intuicija kao iracionalna

Osnova takvog suda je da se intuicija često rađa kao jednostavno osjećanje nečega, nepotkrijepljeno nikakvim zaključcima, logikom ili iskustvom.

Ova vrsta intuicije je najopasnija u razvoju, ali u isto vrijeme to je način brzog rješavanja složenih problema.

Upravo to se u programiranju zove “magija” - promijenimo vrijednost jedne varijable ili zastavice i nekim čudom naš kod počne raditi, iako je ta odluka donesena apsolutno instinktivno. I upravo je ova vrsta intuicije njezina prava manifestacija.

Pesimističko instinktivno programiranje

Ali intuicija može biti i negativna tijekom razvoja.

Kao što je gore spomenuto, "iracionalna" intuicija je i spas i opasan alat u rukama programera.

Oslanjajući se na takve instinktivne odluke, gubimo povjerenje u kod koji pišemo, u kojem se “čarolija” počinje događati.

Važno je da takve odluke stvaraju određenu razinu tjeskobe pri donošenju naknadnih odluka. Prevladavanje osjećaja, senzacija i iracionalnog u razvoju dovodi do nemogućnosti da se sve opravda logikom, a kao rezultat toga dolazi do složenosti razumijevanja koda i gubitka čitljivosti.

Kao zaključak

Općenito, ovo nije prvi put da se postavlja pitanje intuicije u razvoju softvera.
To je zbog činjenice da će problem utjecaja procesa koji nisu povezani s logikom i mišljenjem na proces pisanja koda ostati aktualan, budući da je tim procesom okupirana osoba koja ima osjećaje, predrasude i "iracionalna".

p.s. Za one koje zanima tema intuicije u razvoju softvera, savjetujem vam da pročitate