Cele mai ciudate principii de programare pe care nu le-ați auzit niciodată
V-am trecut deja prin cele mai importante principii de programare 10 Principii de bază de programare Fiecare programator trebuie să urmeze 10 principii de programare de bază Fiecare programator trebuie să urmeze Întotdeauna scrieți cod care poate fi întreținut de oricine poate ajunge să lucreze la software-ul dvs. În acest scop, iată câteva principii de programare care vă ajută să vă curățați actul. Citiți mai multe despre care trebuie să știți, dar există o altă clasă de principii de programare care se poate dovedi chiar mai benefic decât cele.
Întrucât principiile menționate mai sus te învață cum să fii inteligent cu codul vostru, următoarele principii vă vor învăța să fii înţelept cu codul tău. Unele dintre ele sunt ciudate, iar multe dintre ele sunt pline de umor, dar toate sunt la fel de practice și importante. Ia aminte!
1. Principiul Bloat
Aceasta are atât de multe variante încât este greu să alegeți unul ca principal. Poate cel mai mult “oficial” versiunea este Legea de Software Envelopment, mai frecvent numit Legea lui Zawinski, numit după Jamie Zawinski și menționat în Arta programării UNIX:
“Fiecare program încearcă să se extindă până când poate citi e-mail. Programele care nu se pot extinde sunt înlocuite de cele care pot.”
Se vorbește despre tendința programelor de a atrage mai multe și mai multe trăsături în timp și se îndreaptă inevitabil către creșterea complexității. S-ar putea să știți asta creep caracteristică, care este adăugarea continuă de noi caracteristici care nu au nimic de-a face cu scopul principal al programului. Creepul de elemente conduce la umflare, iar balonul este adesea nedorit.
Acest lucru se poate aplica și în cazul performanței software:
“Software-ul se extinde pentru a consuma toate resursele disponibile.”
În anii '90, hard disk-urile și procesoarele și memoria RAM erau mult mai restrictive decât sunt astăzi, iar programatorii au muncit din greu pentru a se potrivi cât mai mult posibil în limite. Cu toate acestea, acum că avem unități mai mari și procesoare mai rapide și mai mult RAM, încă ne străduim să respectăm limitele. Totul se umflă în timp. Este treaba ta să păstrați asta sub control.
2. The “Mai rău este mai bine” mentalitatea
Aproape că, ca răspuns la principiul Bloat, avem Mai rău este o mentalitate mai bună, primul inventat de Richard P. Gabriel într-un eseu pe care la scris despre calitatea software-ului:
“Software-ul limitat, dar ușor de utilizat, poate fi mai atrăgător pentru utilizator și pentru piață decât invers.”
Cu alte cuvinte, este înțelept să dăm seama o problema software-ul dvs. are scopul de a rezolva și apoi să fie foarte bine la acel lucru. Nu te complica. Cu cât vă răspândiți mai mult, cu atât mai mult cu cât proiectul va deveni mai greu de realizat și cu atât mai nedorit va deveni pentru utilizatori.
Ce se întâmplă atunci când ignorați acest lucru? Încheie cu Software Principiul Peter:
“Un proiect extrem de complex va deveni în cele din urmă prea complex pentru a fi înțeles chiar de proprii dezvoltatori.”
Aceasta vine din principiul mai larg al lui Peter, care prevede că, atunci când angajații sunt promovați pe baza competenței lor actuale și nu a competenței lor așteptate la următoarea poziție, toți angajații ajung în cele din urmă într-o poziție de incompetență. Luați acest principiu și aplicați-l aplicației software și veți vedea de ce software-ul mai rău poate fi adesea mai bun.
3. Legea lui Eagleson
“Orice cod propriu pe care nu l-ați căutat de șase sau mai multe luni ar fi putut fi scris de altcineva.”
Această poveste aparent demotivațională este de fapt ceva de îmbrățișat. Faptul este că nimeni nu este perfect. S-ar putea să crezi că ești programator de geniu chiar acum, dar e mereu ceva mai mult pe care îl puteți învăța, mereu mai mult spațiu pentru a crește. Dacă te uiți vreodată la codul vechi și te rog, probabil înseamnă ați învățat ceva nou de atunci.
Puneți un alt mod: dacă priviți înapoi la un proiect vechi și nu puteți vedea nimic care vă poate îmbunătăți sau ați putea face altfel data viitoare, probabil ați stagnat ca programator.
4. Principiul celor mai puțin uimitoare
“Dacă o caracteristică necesară are un factor de mare uimire, ar putea fi necesar să reproiectați caracteristica.”
Prima publicare în IBM Systems Journal încă din 1984, acest principiu este astăzi surprinzător de relevant - poate mai mult decât oricând.
Se referă, în esență, la echilibrul delicat dintre inovație și familiaritate: dacă este o bucată de software prea diferit de la alții de acest gen și nu se conformează așteptărilor utilizatorilor probabil că nu o vor adopta. Este mai bine să se străduiască pentru îmbunătățiri incrementale care sunt suficient de mari pentru a fi impresionante, dar suficient de mici pentru a rămâne familiari.
5. Legea entomologiei cibernetice
“Există întotdeauna încă un bug.”
Adesea numit Legea lui Lubarsky de entomologie cibernetică, nu este clar cine este de fapt acest Lubarsky. Cu toate acestea, principiul său este adevărat pentru toți programatorii: indiferent de cât de curat vă scrieți codul, indiferent de modul în care vă testați modulele, indiferent cât de des vă refaceți clasele, va exista întotdeauna un alt bug.
Într-un fel, acesta este un principiu de eliberare. În timp ce ar trebui cu siguranță lupta pentru codul fără bug, este de asemenea important să ne amintim că perfecționismul este dușmanul binelui. Căutați bug-uri, remediați-le când apar, și apoi continuați.
6. Legea lui Kernighan
“Depanarea este de două ori mai dificilă decât scrierea codului în primul rând. Prin urmare, dacă scrieți codul cât de inteligent posibil, sunteți, prin definiție, nu suficient de inteligent pentru a depana acesta.”
Brian Kernighan, cel care a co-autorizat biblia limbajului de programare C De ce programarea C este încă de învățat De ce programarea C este încă de încredere Învățarea C nu este o limbă moartă. De fapt, revista IEEE Spectrum a clasat-o drept limba de top în 2017. Iată cinci motive pentru care. Citește mai mult, este renumit pentru această lege înțeleaptă. Cea mai importantă este aceea de a scrie bun cod, scrie care poate fi citit cod, scrie simplu cod, oricât nu este inteligent cod.
Încercarea de a vă flexa mușchii de programare cu complexitatea turnului de fildeș este exact opusul a ceea ce înseamnă a scrie cod curat și mai bun 10 Sfaturi pentru scris mai curat & cod mai bun 10 Sfaturi pentru scrierea mai curat și cod mai bun Codul de scriere curată pare mai ușor decât este de fapt, dar beneficiile merită. Iată cum puteți începe să scrieți un cod mai curat astăzi. Citeste mai mult . Cu cât este mai greu să înțelegi codul, cu atât va fi mai greu să depaneze atunci când se rupe în mod inevitabil.
Și cum explică Robert C. Martin, nu este vorba doar despre depanare:
“Într-adevăr, raportul dintre timpul petrecut în lectură și versiunea scrisă este cu mult peste 10 la 1. Citește în mod constant codul vechi ca parte a efortului de a scrie un nou cod ... [Prin urmare,] facilitând citirea,.”
7. Depanarea cauciucului
Aceasta nu este un principiu, ci o tehnică, dar este atât de util și de ciudat încât am fi îndrăzneț să-l lăsăm afară.
În primul rând a spus în Programatorul pragmatic, cauciuc rață de depanare este atunci când depanați software-ul rupt prin explicarea codului dvs. unui obiect neînsuflețit (de exemplu o rață de cauciuc) pe rând într-o singură dată. Funcționează deoarece actul de explicație declanșează diferite părți ale creierului dvs. și este mai probabil să observați neconcordanțe și să aflați unde ați greșit.
Din acest motiv, o rață din cauciuc poate fi un cadou surprinzător de drăguț pentru programatori. Cele mai bune cadouri pentru programatori: 20 idei pentru coderi și nălucire Cele mai bune cadouri pentru programatori: 20 idei pentru coderi și năluci în căutarea unui cadou pentru un programator? Aici sunt cele mai bune cadouri geek, de la tastaturi mecanice la birouri în picioare și multe altele. Citiți mai multe, dacă le cumpărați pentru dvs. sau pentru un prieten de programare al dvs..
8. Regula nouăzeci și nouă
“Primele 90% din coduri reprezintă primele 90% din timpul de dezvoltare. Restul de 10% din cod reprezintă celelalte 90% din timpul de dezvoltare.”
Acest proverb mic de Tom Cargill se află în centrul motivului pentru care programarea poate fi atât de frustrant: indiferent de cât de aproape te gândești că ești terminat, ești mult mai departe decât chiar cele mai bune estimări ale tale. Când crezi că ai terminat, ești doar la jumătatea drumului.
Aceasta merge mână în mână cu Legea lui Hofstadter:
“Întotdeauna durează mai mult decât vă așteptați, chiar dacă luați în considerare Legea lui Hofstadter.”
9. Legea Parkinson
“Lucrarea se extinde pentru a umple timpul disponibil pentru finalizarea acesteia.”
Acest principiu, creat de Cyril Northcote Parkinson, este un principiu mai larg care se aplică absolut programării și merge mână în mână cu regula de nouăzeci de mai sus: oricât de mult timp trebuie să finalizați un proiect este exact cât va dura. În dezvoltarea de software, “terminând devreme” este cam mult un mit.
Legea din Parkinson este motivul pentru care termenele limită sunt esențiale dacă doriți să finalizați și să expediați software-ul. De aceea, programatorii profesioniști moderni recomandă deseori principii agile de management al proiectelor. Cum să utilizați principiile managementului proiectelor Agile pentru a vă organiza viața Cum să utilizați principiile managementului proiectelor Agile pentru a vă organiza viața Agile, cunoscută sub numele de metoda de gestionare a proiectelor, este un cadru excelent pentru gestionarea viata personala. Vă vom arăta principiile pe care le puteți împrumuta - descărcare gratuită a foii de lucru inclusă! Citiți mai multe și instrumente de management al proiectelor, cum ar fi Asana Trello vs. Asana: Cel mai bun instrument de management al proiectelor gratuite este ... Trello vs. Asana: Cel mai bun instrument gratuit de management de proiect este ... Alegerea dintre Trello și Asana este dificilă. Aici comparăm planurile gratuite și vă ajutăm să decideți ce instrument de management al proiectelor este cel mai bun pentru echipa dvs. Citeste mai mult .
10. Legea lui Brook
“Adăugarea forței de muncă la un proiect software târziu o face mai târziu.”
Data viitoare când ați întârziat un proiect, probabil deoarece cele mai multe proiecte de programare necesită mai mult timp decât alocat, rețineți că adăugarea de coderi nu o va rezolva mai repede.
De fapt, probabil că va dura mai lung a termina. Nu numai că trebuie să aduceți noul coder (e) la viteză, probabil că acestea vor intra în conflict cu codoarele existente. Mai multe lucruri vor trebui să fie documentate, va fi nevoie de mai multă birocrație pentru a menține pe toată lumea pe aceeași pagină, iar mai multă fricțiune va ieși din întreaga experiență de criză.
Mergând înainte ca programator
Acum că știți aceste principii, sunteți de fapt mai potrivită pentru lumea reala de programare, nu doar ceea ce ați întâlnit la școală, într-un curs web sau într-un bootcamp. Aceste principii provin din anii și anii de experiență și de eșecuri.
Cu această înțelepciune nou-născut, aveți posibilitatea să vă prezentați acum la o carieră de programare de mare nevoie 10 Locuri de munca de programare de calculator care sunt în cerere dreapta Acum 10 locuri de muncă programare de calculator care sunt în cerere chiar acum De la aterizare un loc de muncă de programare poate fi dur în peisajul actual, luați în considerare concentrarea asupra uneia dintre următoarele concentrații pentru a vă îmbunătăți șansele de succes. Citește mai mult cu mai multe așteptări realiste. Pentru a învăța cum să maximizați oportunitățile de carieră în programare Cum să vă îmbunătățiți programarea Oportunități de carieră Cum să vă îmbunătățiți programul de programare Oportunități de carieră Dacă sperăți să începeți, să reporniți sau să îmbunătățiți în alt mod cariera de programare, nu este ușor. Dacă sunteți în facultate, timpul este acum. Iată câteva sfaturi care vă pot duce departe. Citeste mai mult . Și dacă decideți că programarea nu este pentru voi, nu vă îngrijorați - luați în considerare una dintre aceste locuri de muncă non-codare în loc de codificare nu este pentru toată lumea: 7 locuri de muncă pe care le puteți obține fără ea Codificarea nu este pentru toată lumea: 7 Locuri de muncă pe care le puteți obține fără ea Nu vă descurajați dacă vreți să faceți parte din domeniul tehnic - există o mulțime de locuri de muncă pentru persoanele care nu știu cum să cod! Citeste mai mult .
Care dintre aceste principii ți se potrivește cel mai bine? Știți despre alte principii de programare ciudate pe care le-am pierdut? Spuneți-ne în comentariile de mai jos!