Publicitate
Te-am străbătut deja cele mai esențiale principii de programare 10 Principii de bază de programare Fiecare programator trebuie să urmezeScrieți întotdeauna cod care poate fi întreținut de oricine poate ajunge să lucreze la software-ul dvs. În acest scop, iată mai multe principii de programare care vă ajută să vă curățați actul. Citeste mai mult trebuie să știți despre, dar există o altă clasă de principii de programare care se pot dovedi chiar mai benefic decât aceia.
În timp ce principiile menționate anterior vă învață cum să fiți inteligent cu codul dvs., următoarele principii vă vor învăța să fiți înţelept cu codul dumneavoastră. 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ă alegi una ca principală. Poate cea mai „oficială” versiune este Legea dezvoltării software, denumită mai des 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 mail. Aceste programe care nu se pot extinde atât de mult sunt înlocuite de cele care pot. "
Vorbește despre tendința programelor de a atrage din ce în ce mai multe funcții și, inevitabil, în derivă către o complexitate tot mai mare. Este posibil să știți acest lucru ca caracteristică fluieră, care este adăugarea continuă de noi funcții care nu au nicio legătură cu scopul principal al programului. Funcția fluieră duce la balonare, iar balonarea este adesea nedorită.
Acest lucru se poate aplica și performanței software:
„Software-ul se extinde pentru a consuma toate resursele disponibile.”
În anii 90, hard disk-urile, procesoarele și memoria RAM au fost mult mai restrictive decât sunt în prezent, iar programatorii au muncit din greu pentru a se încadra cât au putut în limitele lor. Cu toate acestea, acum când avem unități mai mari și procesoare mai rapide și mai multă memorie RAM, încă ne străduim să respectăm limitele. Totul se umflă în timp. Este sarcina ta să ții acest lucru sub control.
2. Mentalitatea „Mai rău este mai bună”
Aproape ca și ca răspuns la Principiul Bloat, avem Mai rău este o mentalitate mai bună, prima dată inventat de Richard P. Gabriel într-un eseu pe care l-a scris despre calitatea software-ului:
„Software-ul limitat, dar simplu de utilizat, poate fi mai atrăgător pentru utilizator și piață decât invers”.
Cu alte cuvinte, este înțelept să descopăr o problema software-ul dvs. își propune să rezolve și apoi să fie foarte bine la acel lucru. Nu te complica. Cu cât vă răspândiți mai subțire, cu atât proiectul va fi mai neinstruit și cu atât este mai indezirabil pentru utilizatori.
Ce se întâmplă când ignori asta? Terminați cu Software Principiul Peter:
„Un proiect excesiv de complex va deveni în cele din urmă prea complex pentru a fi înțeles chiar și de proprii dezvoltatori.”
Provine de la principiul mai larg al lui Peter, care afirmă că atunci când angajații sunt promovați pe baza curentului lor competența și nu competența lor așteptată 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 la software și veți vedea de ce software-ul mai prost poate fi adesea mai bun.
3. Legea lui Eagleson
„Orice alt cod pe care nu l-ai analizat timp de șase sau mai multe luni ar putea fi la fel de scris de altcineva.”
Această afirmație aparent demotivațională este de fapt ceva de îmbrățișat. Cert este că nimeni nu este perfect. S-ar putea să credeți că sunteți un programator genial chiar acum, dar există mereu puteți învăța ceva mai mult, mereu mai mult loc pentru a crește. Dacă te uiți vreodată înapoi la codul vechi și la cringe, probabil înseamnă ai învățat ceva nou de atunci.
Altfel spus: dacă te uiți înapoi la un proiect vechi și nu poți vedea nimic pe care îl poți îmbunătăți sau ar face diferit data viitoare, probabil că ai stagnat ca programator.
4. Principiul celor mai mici uimiri
„Dacă o caracteristică necesară are un factor de uimire ridicat, poate fi necesară redesenarea funcției.”
Publicat pentru prima dată în Jurnalul sistemelor IBM În 1984, acest principiu este încă surprinzător de relevant astăzi - poate mai mult ca niciodată.
El atinge în esență echilibrul delicat dintre inovație și familiaritate: dacă un software este prea diferit atunci de la alții de acest fel și nu se conformează așteptărilor utilizatorului probabil că nu o vor adopta. Este mai bine să ne străduim de îmbunătățiri incrementale, care sunt suficient de mari pentru a fi impresionante, dar suficient de mici pentru a vă familiariza.
5. Legea entomologiei cibernetice
„Există întotdeauna încă o eroare.”
Adesea numit Legea lui Lubarsky a entomologiei cibernetice, nu este clar cine este acest Lubarsky. Cu toate acestea, principiul său sună valabil pentru toți programatorii: oricât de corect îți scrii codul, oricât îți testezi modulele, indiferent cât de des îți refactorizezi cursurile, 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 important să ne amintim că perfecționismul este dușmanul binelui. Căutați bug-uri, reparați-le când apar și apoi mergeți mai departe.
6. Legea lui Kernighan
„Debugarea este de două ori mai grea decât scrierea codului în primul rând. Prin urmare, dacă scrieți codul cât mai inteligent posibil, nu sunteți, prin definiție, suficient de inteligent pentru a-l depana. ”
Brian Kernighan, același care a fost coautor Biblia limbajului de programare C De ce programarea C este încă demnă de învățatC nu este o limbă moartă. De fapt, revista IEEE Spectrum a clasat-o în 2017 pe locul 2 în topul limbii. Iată cinci motive pentru care. Citeste mai mult , este renumit pentru această lege vizibilă. Punctul principal este acesta: scrie bun cod, scrie care poate fi citit cod, scrie simplu cod, orice, atâta timp cât nu este inteligent cod.
Încercarea de a flexa mușchii de programare cu complexitatea turnului de fildeș este exact opusul a ceea ce înseamnă scrie cod curat și mai bun 10 sfaturi pentru scrierea unui cod mai curat și mai bunScrierea codului curat arată mai ușor decât este în realitate, dar beneficiile merită. Iată cum poți începe să scrii cod mai curat astăzi. Citeste mai mult . Cu cât este mai greu să înțelegeți codul dvs., cu atât va fi mai greu să depanați când se va sparge inevitabil.
Și după cum Robert C. Martin explică, nu este vorba doar despre debugare:
„Într-adevăr, raportul dintre timpul petrecut în lectură și scrierea este mult peste 10 la 1. Citim constant cod vechi ca parte a efortului de a scrie un cod nou... [Prin urmare,] simplificarea lecturii face mai ușor să scrii. ”
7. Debugging Duck din cauciuc
Acesta nu este atât un principiu, cât și o tehnică, dar este atât de util și de ciudat încât am fi amintiți să-l părăsim.
A spus prima dată Programatorul pragmatic, depanare de rață de cauciuc este atunci când depanați software-ul spart, explicându-vă codul către un obiect neînsuflețit (de exemplu, o rață de cauciuc), o linie o dată. Funcționează deoarece actul de explicație declanșează diferite părți ale creierului dvs. și aveți mai multe probabilități să observați neconcordanțe și să vă dați seama unde ați greșit.
Din acest motiv, o rață de cauciuc poate fi o cadou surprinzător de obraznic pentru programatori Cele mai bune cadouri Geek pentru programatori: 20 de idei pentru coditori și tocilariCăutați un cadou pentru un programator? Iată cele mai bune cadouri geek, de la tastaturi mecanice până la pupitre în picioare și multe altele. Citeste mai mult , fie că îl cumpărați pentru dvs., fie pentru un amic de programare.
8. Regula celor nouăzeci și nouăzeci
„Primele 90% din cod reprezintă pentru primele 90% din timpul de dezvoltare. Restul de 10 la sută din cod reprezintă celelalte 90 la sută din timpul de dezvoltare. "
Acest mic proverb proaspăt de Tom Cargill ajunge la baza motivului pentru care programarea poate fi atât de frustrantă: oricât de aproape credeți că sunteți terminat, sunteți mult mai departe decât chiar și cele mai bune estimări ale tale. Când credeți că ați terminat, nu sunteți decât la jumătatea drumului.
Ea merge în mână cu Legea lui Hofstadter:
„Întotdeauna durează mai mult decât vă așteptați, chiar și atunci când luați în considerare Legea lui Hofstadter.”
9. Legea lui Parkinson
„Munca se extinde astfel încât să completeze timpul disponibil pentru finalizarea sa.”
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 regulile de nouăzeci și nouăzeci de mai sus: oricât timp trebuie să finalizați un proiect este exact cât timp va dura lua. În dezvoltarea de software, „terminarea timpurie” este cam un mit.
Legea Parkinson este motivul pentru care termenele corespunzătoare sunt cruciale dacă doriți să finalizați și să expediați software-ul. Acesta este motivul pentru care programatorii profesioniști moderni recomandă deseori principii agile de management de proiect Cum să folosiți Principiile de gestionare a proiectelor agile pentru a vă organiza viațaAgil, cel mai cunoscut sub numele de metodă de management de proiect, este un cadru excelent pentru gestionarea vieții personale. Vă vom arăta ce principii puteți împrumuta - descărcare gratuită a foii de lucru incluse! Citeste mai mult și instrumente de management de proiect precum Asana Trello vs. Asana: Cel mai bun instrument gratuit de gestionare a proiectelor este ...Alegerea dintre Trello și Asana este dificilă. Aici comparăm planurile gratuite și vă ajutăm să decideți care instrument de gestionare a proiectului este cel mai potrivit pentru echipa dvs. Citeste mai mult .
10. Legea Brook
„Adăugarea de forță de muncă la un proiect software tardiv face mai târziu.”
Data viitoare când întârziați un proiect, probabil, deoarece majoritatea proiectelor de programare au nevoie de mai mult timp decât cele alocate, nu uitați că adăugarea codificatorilor nu o va rezolva mai repede.
De fapt, va fi probabil mai lung a termina. Nu numai că trebuie să aducă viteza noului codificator, ci va intra în conflict cu coderele existente. Mai multe lucruri va trebui să fie documentate, va fi nevoie de mai multă birocrație pentru a menține toată lumea pe aceeași pagină și mai multă fricțiune va ieși din întreaga experiență de criză.
Mergând înainte ca programator
Acum, că cunoașteți aceste principii, sunteți de fapt mai potrivit pentru lumea reala de programare, nu doar ceea ce ați întâlnit la școală, la un curs web sau la un bootcamp. Aceste principii provin din ani și ani de experiență și eșecuri.
Cu această înțelepciune nouă, puteți porni acum către o cariera de programare la cerere mare 10 locuri de muncă de programare pe calculator care sunt la cerere chiar acumDeoarece aterizarea unei lucrări de programare poate fi dificilă în peisajul actual, luați în considerare concentrarea pe una dintre următoarele concentrări pentru a vă îmbunătăți șansele de succes. Citeste mai mult cu așteptări mai realiste. Pentru asta, învață cum să maximizați-vă oportunitățile de carieră în programare Cum să îți îmbunătățești oportunitățile de carieră în programareDacă sperați să începeți, să reporniți sau să vă îmbunătățiți cariera de programare, nu este ușor. Dacă sunteți la facultate, acum este timpul. Iată câteva sfaturi care vă pot duce departe. Citeste mai mult . Și dacă decideți că programarea nu este pentru dvs., nu vă blocați - luați în considerare una dintre acestea în schimb, locuri de muncă de tehnologie care nu codifică Codarea nu este pentru toată lumea: 9 locuri de muncă tehnice pe care le puteți obține fără elNu vă descurajați dacă doriți să faceți parte din domeniul tehnologic. Există o mulțime de locuri de muncă pentru oameni fără abilități de codare! Citeste mai mult .
Care dintre aceste principii vă sună cel mai adevărat? Cunoașteți alte principii ciudate de programare care ne-au lipsit? Spuneți-ne mai jos în comentariile de mai jos!
Joel Lee are un B.S. în informatică și peste șase ani de experiență profesională în scriere. Este redactor șef pentru MakeUseOf.