
William Charles
0
3063
538
Već smo vas prošli kroz najvažnija programska načela. 10 Osnovna načela programiranja Svaki programer mora slijediti 10 osnovnih načela programiranja Svaki programer mora slijediti Uvijek napišite kôd koji može zadržati svatko tko može završiti rad na vašem softveru. U tu svrhu, evo nekoliko programskih načela koja će vam pomoći da očistite svoj čin. što trebate znati, ali postoji još jedna klasa programskih načela koja se mogu dokazati još blagotvornije nego oni.
Dok vas gore navedeni principi uče kako biti pametan S vašim će se kodom sljedeća načela naučiti biti mudar sa svojim kodom. Neke su od njih čudne, a mnoge od njih duhovite, ali svi su jednako praktični i važni. Obratite pažnju!
1. Načelo puhanja
Ova ima toliko mnogo varijacija da je teško odabrati jednu kao glavnu. Možda najviše “službeno” inačica je Zakon o softverskom razvoju, češće nazvan Zawinski zakon, ime po Jamieju Zawinskom i spomenuto u Umjetnost UNIX programiranja:
“Svaki se program pokušava proširiti dok ne može čitati poštu. Oni programi koji se ne mogu tako proširiti zamjenjuju se onima koji mogu.”
Govori o tendenciji programa da tijekom vremena privlače sve više i više mogućnosti i neizbježno se kreće prema sve većoj složenosti. Vi to možda znate puzanje, što je neprestano dodavanje novih značajki koje nemaju nikakve veze s glavnom svrhom programa. Puzanje svojstava dovodi do napuhavanja, a napuhavanje je često nepoželjno.
To se također može primijeniti na performanse softvera:
“Softver se proširuje kako bi potrošio sve dostupne resurse.”
Natrag u 90-e, tvrdi diskovi i CPU-i i RAM-a bili su daleko restriktivniji nego što su danas, a programeri su naporno radili kako bi stali u granice. No sada kada imamo veće pogone i brže CPU-ove i više RAM-a, i dalje se borimo za poštivanje ograničenja. Sve se vremenom nabuja. Vaš je posao to kontrolirati.
2. The “Još je gore” Mentalitet
Skoro kao da odgovorimo na načelo Bloat, imamo Još gore je bolji mentalitet, prvi je napisao Richard P. Gabriel u eseju koji je napisao o kvaliteti softvera:
“Softver koji je ograničen, ali jednostavan za korištenje, korisniku i tržištu može biti privlačniji od obrnutog.”
Drugim riječima, pametno je shvatiti to jedan problem vaš softver želi riješiti i onda biti vrlo dobro na ono jedno. Neka bude jednostavno. Što se više tanko širiš, projekt će postati neusporediviji i nepoželjniji za korisnike.
Što se dogodi kad to ignorirate? Završavate s Program Peter Principle:
“Pretjerano složen projekt s vremenom će postati previše složen da bi ga mogli razumjeti čak i vlastiti programeri.”
Potječe iz šireg načela Petera, koji kaže da kad se zaposlenici unaprijede na temelju njihove trenutne sposobnosti, a ne njihove očekivane kompetencije na njihovoj sljedećoj poziciji, svi zaposlenici na kraju završe u položaju nesposobnosti. Uzmite taj princip i primijenite ga na softver i vidjet ćete zašto lošiji softver često može biti bolji.
3. Eaglesonov zakon
“Bilo koji vlastiti kôd koji niste pogledali šest ili više mjeseci možda je napisao i netko drugi.”
Ova naizgled demotivacijska izreka zapravo je nešto što bi trebalo prigrliti. Činjenica je da nitko nije savršen. Možda trenutno mislite da ste genijalan programer, ali postoji stalno nešto više što možeš naučiti, stalno više prostora za rast. Ako se ikad osvrnete na stari kod i izraz, to vjerojatno znači od tada ste naučili nešto novo.
Drugim načinom: ako se osvrnete na stari projekt i ne vidite ništa što biste mogli poboljšati ili bi učinili drugačije sljedeći put, vjerojatno ste stagnirali kao programer.
4. Načelo najmanjeg iznenađenja
“Ako neka značajka ima visoku faktor iznenađenja, možda će biti potrebno redizajnirati značajku.”
Prvo objavljeno u IBM Systems Journal davne 1984. godine, ovaj je princip i danas iznenađujuće relevantan - možda i više nego ikad prije.
U biti se dotiče osjetljive ravnoteže između inovacije i poznanstva: ako je to dio softvera previše različito od ostalih takve vrste i tada se ne udovoljavaju očekivanjima korisnika vjerojatno ga neće usvojiti. Bolje je težiti za postupnim poboljšanjima koja su dovoljno velika da budu impresivna, ali dovoljno mala da ostanu poznata.
5. Zakon kibernetičke entomologije
“Uvijek postoji još jedna buba.”
Često se zove Lubarskyev zakon kibernetičke entomologije, nije jasno tko je zapravo taj Lubarsky. Međutim, njegov princip vrijedi za sve programere: bez obzira na to koliko čisto napisali svoj kôd, bez obzira koliko čvrsto testirali module, bez obzira koliko često refaktorirate nastavu, uvijek će postojati još jedna greška.
Na neki način to je načelo oslobađanja. Dok bismo definitivno trebali težiti za kod bez grešaka važno je također zapamtiti da je perfekcionizam neprijatelj dobra. Potražite bugove, ispravite ih kada nastanu i krenite dalje.
6. Kernighanin zakon
“Otklanjanje pogrešaka dvostruko je teže od pisanja koda. Stoga, ako kôd napišete što je pametnije moguće, po definiciji niste dovoljno pametni da biste to uklonili.”
Brian Kernighan, isti onaj koji je napisao bibliju programskog jezika C Zašto programiranje C još uvijek vrijedi učiti zašto je programiranje C još uvijek vrijedno Učenje C nije mrtvi jezik. Zapravo, IEEE Spectrum magazin ju je svrstao na prvo mjesto br. 2 u 2017. Evo pet razloga zašto. , poznat je po ovom pronicavom zakonu. Suština toga je: pisati dobro kod, pisati čitljiv kod, pisati jednostavan kodirati, sve dok nije pametan kodirati.
Pokušaj fleksiranja mišića programiranja složenosti tornja slonovače upravo je suprotno od onoga što znači pisati čist i bolji kod. 10 Savjeti za pisanje čistije i bolji kod 10 Savjeti za pisanje čistije i bolji kod Pisanje čistog koda izgleda lakše nego što zapravo jest, ali koristi su vrijedne toga. Evo kako danas možete početi pisati čistiji kod. , Što je vaš kôd teže razumljiv, to će teže biti uklanjanje pogrešaka kad se neminovno pokvari.
A kako objašnjava Robert C. Martin, uklanjanje pogrešaka nije samo:
“Zapravo, omjer vremena provedenog na čitanju u odnosu na pisanje iznosi mnogo više od 10 prema 1. Stalno čitamo stari kod kao dio napora za pisanje novog koda ... [Dakle,] olakšavanje čitanja olakšava pisanje.”
7. Otklanjanje pogrešaka gumene patke
Ovaj nije toliko princip koliko tehnika, ali je toliko koristan i čudan da bi nas odbacili.
Prvo rečeno u Pragmatični programer, otklanjanje pogrešaka od gumene patke je kada uklanjate program s oštećenim softverom objašnjavajući svoj kôd neživom objektu (npr. gumenoj patci) jednu po jednu liniju. Djeluje zato što čin objašnjenja pokreće različite dijelove vašeg mozga i vjerojatnije je da ćete uočiti nedosljednosti i shvatiti gdje ste pogriješili.
Iz tog razloga, gumena patka može biti iznenađujuće sjajan poklon za programere. Najbolji geek darovi za programere: 20 ideja za kodirere i živice Najbolji geek pokloni za programere: 20 ideja za kodrere i nerdare Tražite li poklon za programera? Ovdje su najbolji pokloni za geek, u rasponu od mehaničkih tipkovnica do stojećih stolova i još mnogo toga. , bilo da ga kupite za sebe ili za svog programera.
8. Pravilo devedeset i devedeset
“Prvih 90 posto koda čini prvih 90 posto vremena razvoja. Preostalih 10 posto koda čini ostalih 90 posto vremena razvoja.”
Ta bezobrazna mala poslovica Toma Cargilsa u središtu je zašto programiranje može biti tako frustrirajuće: bez obzira koliko mislite da ste blizu da završite, mnogo dalje nego čak i vaše najbolje procjene. Kad mislite da ste gotovi, tamo ste tek na pola puta.
To ide ruku pod ruku s Hofstadterovim zakonom:
“Uvijek traje duže nego što očekujete, čak i kad uzmete u obzir Hofstadterov zakon.”
9. Parkinsonov zakon
“Rad se proširuje kako bi se popunilo vrijeme dostupno za njegovo okončanje.”
Ovaj jedan princip, kojeg je skovao Cyril Northcote Parkinson, širi je princip koji se apsolutno odnosi na programiranje i ide ruku pod ruku s gornjim Pravilom devedeset i devedeset: koliko god vremena trebali završiti projekt, tačno će trajati. U razvoju softvera, “završiti rano” prilično je mit.
Parkinsonov zakon razlog je zašto su valjani rokovi ključni ako želite dovršiti i otpremiti svoj softver. Zato moderni profesionalni programeri često preporučuju agilna načela upravljanja projektima Kako koristiti Agile Načela upravljanja projektima za organiziranje svog života Kako koristiti Agile Načela upravljanja projektima za organiziranje svog Agile Life, poznata kao metoda upravljanja projektima, odličan je okvir za upravljanje vašim osobni život. Pokazat ćemo vam koje principe možete posuditi - uključeno je besplatno preuzimanje radnog lista! alati za upravljanje projektima poput Asane Trello vs. Asana: Najbolji alat za upravljanje besplatnim projektima je… Trello vs. Asana: Najbolji besplatni alat za upravljanje projektima je… Odabir između Trello i Asane je težak. Ovdje uspoređujemo besplatne planove i pomažemo vam da odlučite koji će alat za upravljanje projektima biti najbolji za vaš tim. .
10. Brookov zakon
“Dodavanje radne snage u kasni softverski projekt to čini kasnije.”
Sljedeći put kad zakasnite na projektu, što je vjerojatno budući da je većini programskih projekata potrebno više vremena nego izdvojenog, imajte na umu da dodavanje kodera to neće riješiti brže.
Zapravo, vjerojatno će trebati više dovršiti. Ne samo da je potrebno da novi koder dovedete do brzine, oni će se vjerojatno sukobiti s postojećim koderima. Trebat će dokumentirati više stvari, trebati će više birokratije da bi se svi zadržali na istoj stranici, a više trenja će se pojaviti u čitavom iskustvu vremena.
Naprijed kao programer
Sada kada znate ove principe, zapravo ste bolji za stvarni svijet programiranja, a ne samo ono na što ste naišli u školi, na web tečaju ili u bootcampu. Ti principi proizlaze iz godina i godina iskustva i neuspjeha.
S ovom novonastalom mudrošću sada se možete upustiti u zahtjevnu karijeru programiranja 10 radnih mjesta za programiranje računala koja su trenutno tražena, 10 zadataka računalnog programiranja koji su trenutno traženi, budući da postavljanje posla na posao može biti naporno u trenutnom krajoliku, razmislite o fokusiranju na jednu od sljedećih koncentracija kako biste poboljšali svoje šanse za uspjeh. s realnijim očekivanjima. Zbog toga naučite kako maksimizirati svoje mogućnosti programiranja u karijeri Kako poboljšati svoje mogućnosti karijere u programiranju Kako poboljšati svoje mogućnosti karijere programiranja Ako se nadate da ćete započeti, ponovo pokrenuti ili na neki drugi način poboljšati svoju karijeru programiranja, to nije lako. Ako ste na fakultetu, vrijeme je sada. Evo nekoliko savjeta koji vas mogu odvesti daleko. , A ako odlučite da programiranje nije za vas, nemojte se brinuti - razmislite o jednom od tih nekodirajućih tehnoloških poslova. Kodiranje nije za svakoga: 9 tehničkih poslova koje možete dobiti bez njega Kodiranje nije za svakoga: 9 Tehnički poslovi koje možete dobiti bez njega Ne obeshrabrujte ako želite biti dio tehničkog područja. Puno je poslova za ljude bez vještina kodiranja! .
Koji od ovih principa vam vjeruje u povjerenje? Znate li koja druga čudna programska načela koja su nam nedostajala? Javite nam dolje u komentarima u nastavku!