Imenovanje konvencija: Što je veliki posao?

Autor: Laura McKinney
Datum Stvaranja: 2 Travanj 2021
Datum Ažuriranja: 15 Svibanj 2024
Anonim
Заболел коронавирусом после прививки. Моя схема лечения от Ковид-19 дома, прописанная врачом.
Video: Заболел коронавирусом после прививки. Моя схема лечения от Ковид-19 дома, прописанная врачом.

Sadržaj



Izvor: Iunewind / Dreamstime.com

Oduzeti:

Imenovanje konvencija ili standardizirana sintaksa korisni su u programiranju, ali neki se radije žele odmaknuti od tih standarda.

Većina ljudi koji poznaju informatiku prije svega razumiju potrebu za nečim poput "a = 1" - ali može ih super zbuniti "1 = a"!

Jesu li i računala zbunjena? Nije nužno - ali pitanje sintakse je veliko za određivanje načina na koji programeri rade zajedno. Hoće li ova vrsta sintaksičke disleksije potonuti brod?

Jedno od velikih pitanja o tome kako formatirati kôd ima veze s "uvjetima Yode" (nazvanim za lik "Ratova zvijezda" poznat po neobičnoj sintaksi engleskog jezika), neku vrstu prevrtanja varijable i dodjele, kao što je prikazano iznad. Standard je, opet, reći da varijabla "a" jednak je nekom broju, a ne da počinje brojem i dodijeli toj varijabli vrijednost. (Da biste saznali više o povijesti programiranja, pogledajte računalno programiranje: od strojnog jezika do umjetne inteligencije.)


Učiniti ili ne?

Programeri se slažu da Yoda uvjeti mogu zbuniti čitatelje, ali njihovi se stavovi malo razlikuju o tome treba li ovu tehniku ​​ikada koristiti.

Tonya u WP Developers Clubu preuzima ovo pitanje s detaljnim i vizualnim člankom - „Yoda ili ne Yoda?“ U kojem sugerira da mogu postojati zakoniti slučajevi da se ovi iskazi koda obrate.

Tonya ističe da upotreba Yoda uvjeta može pomoći u sprečavanju nesvjesnih dodjeljivanja vrijednosti uzrokovanih tipografskom pogreškom. Ako parametar koristi jedan znak jednake (=) umjesto dvostrukog znaka jednake (==), računalo će dodijeliti varijabli vrijednost, umjesto da provjeri je li jednaka toj vrijednosti. Postavljanje prve vrijednosti može vam pomoći uhvatiti ovu pogrešku. Tonya također govori o nekim najboljim praksama i mitovima oko ove vrste sintakse, poput ideje da Yoda uvjeti mogu dovesti do bržeg rada računala.

"Yoda uvjeti su jedan od načina programiranja za rješavanje jednog specifičnog problema", piše Tonya. „Ne rješava druge probleme. Ako se pravilno primijeni, može umanjiti učinke pogrešaka pri upisu na zadaće kada ste ih htjeli usporediti. Stručnjaci znaju kako je njezina trgovina razumljivost. "


Neobično, jest

U postu na blogu o Pushing Inertia, drugi programer po imenu Dan govori o dvostrukom nastupu koji programeri rade kada primijete ovo neobično stanje, na njegovom konkretnom primjeru, u izjavi "ako":

Bez grešaka, bez stresa - Vaš korak po korak vodič za stvaranje softvera koji mijenja život bez uništavanja života

Ne možete poboljšati svoje programiranje kad nikoga nije briga za kvalitetu softvera.

"Bilo je već prilično izazovno proći kroz logiku, a viđenje ove notacije šifrirane šifre samo je dodalo više mentalne složenosti."

Dan nastavlja govoriti o tome kako programska logika treba slijediti neke jezične konvencije koje koristimo na engleskom i drugim svjetskim jezicima kako bi olakšali stvari drugim čitateljima. On govori o starim vremenima C-a i drugim jezicima i kako su moderni jezici zapisali Yoda-ove uvjete iz knjige. (Da biste saznali više o konvencijama programiranja, pogledajte Uvod u logička stabla i strukturirano programiranje.)

Dan također sugerira da upotreba posljednje ključne riječi u Javi može stvari učiniti jasnijima.

"Rekao bih da se u dobro napisanom kodu oko 85% varijabli može označiti kao konačno, čime se sprječava svaka mogućnost ponovnog dodjeljivanja. Imajte na umu da sam gore rekao da konačna memorija čini referencu memorije nepromjenjivom. To znači da i dalje možete imati varijabla tipa Map ili Set i slobodno mijenja njezin sadržaj, ali ne možete dodijeliti novu kartu ili postaviti varijabli. Jedine varijable koje ne označim kao konačne su iteratori, poput brojača u petlji i eventualno povratka vrijednost ... ukratko, upotreba finalne ključne riječi spriječit će brojne slučajne probleme s kodom i eliminirati svaku moguću potrebu za Yoda notacijama.Takođe ima lijep učinak forsiranja koda u male, logične, metode koje je lako testirati i jednostavno testirati. razumjeti."

StackExchange, glavni forum za rasprave, ne ostaje u ruci. Moderatori web mjesta odgovorili su na pitanje o Yoda uvjetima u ovoj izjavi:

"Kako trenutno izgleda, ovo pitanje nije dobro za naš Q&A format. Očekujemo da će odgovori biti potkrijepljeni činjenicama, referencama ili ekspertizom, ali ovo će pitanje vjerojatno zahtijevati raspravu, argumente, ankete ili produljenu raspravu. "

Zeel Jadia je stariji potpredsjednik inženjeringa na Events.com. "Smatram da su nazivi konvencija vrlo korisni kako bi se moglo pomoći u čitljivosti i dosljednosti", rekla je Jadia odgovarajući na pitanje o provođenju standarda koda.

"To pomaže različitim programerima u istom timu da se osjećaju više kao kod kuće u različitim područjima aplikacije i čini ih mnogo produktivnijima. Ključno je to što ga moramo pokrenuti od prvog dana i provoditi ga internim standardima i preispitivanjima ... što se tiče Yoda uvjeta, razbijen sam: sastavljači i neki jezici mogu nas već zaštititi od stvari koje Yoda uvjeti pokušavaju prevladati. Ali s druge strane volim Star Wars i Yoda je bio sjajan Jedi. "

Izvršen, standardi moraju biti

Da Jadia kaže, postoji puno situacija u kojima koderi nemaju izbora - ti standardi su već primijenjeni za njih. Hoćete li ili ne možete odlučiti „ispuniti uvjete za Yoda“ ili ne, ovisi o kontrastu vašeg programskog projekta. Na primjer, pogledajte ovaj "vodič" iz WordPressa o PHP-u koji pokazuje vrstu standarda koje tvrtke predlažu ili primjenjuju, ovisno o njihovim izgledima. Vodič za WP sadrži sve vrste šala i šablona o svemu, od imenovanja konvencija do korištenja prostora. Evo što kaže o Yoda uvjetima:

"Kada radite logičke usporedbe, uvijek stavite varijablu na desnu stranu, konstante ili doslovne oznake na lijevu ... (u suprotnom) ... ako izostavite znak jednake ..., mogli biste neko vrijeme goniti tu bugu. Malo bizarno, to je za čitanje. Navikni se na to. "

Međutim, ova se naredba ne proširuje na ostale scenarije kodova:

"Ovo se odnosi na ==,! =, === i! ==. Yodini uvjeti za <,>, <= ili> = znatno su teže čitati i najbolje ih je izbjegavati. "

Eno ga.

Ovo je jedno od onih oštrih pitanja o kojima timovi mogu razgovarati unutar svojih tjednih sastanaka. Međutim, korisno je znati zašto se takve stvari rade, što je sveukupni konsenzus i koje strože ili labavije odredbe koda mogu donijeti.