
Joseph Goodman
0
1351
6
Už jsme vás provedli nejdůležitějšími principy programování. 10 Základní principy programování, které musí každý programátor dodržovat 10 Základní principy programování, které musí každý programátor dodržovat Vždy napište kód, který může udržovat kdokoli, kdo může nakonec skončit s prací na vašem softwaru. Za tímto účelem je zde několik zásad programování, které vám pomohou vyčistit váš akt. musíte o tom vědět, ale je tu další třída programovacích principů, která se může ukázat ještě výhodnější než ty.
Zatímco výše uvedené zásady vás naučí, jak být chytrý s vaším kódem vás naučí následující zásady moudrý s vaším kódem. Některé z nich jsou zvláštní a mnohé z nich jsou vtipné, ale všechny jsou stejně praktické a důležité. Dávejte pozor!
1. Bloatův princip
Tento má tolik variací, že je těžké vybrat jednu jako hlavní. Snad nejvíce “oficiální” verze je Zákon obálky softwaru, více obyčejně nazvaný Zawinského zákon, pojmenovaný po Jamie Zawinski a zmíněn v Umění programování UNIX:
“Každý program se pokusí expandovat, dokud nebude schopen číst poštu. Programy, které se tak nemohou rozšířit, jsou nahrazeny programy, které mohou.”
Jedná se o tendenci programů přilákat v průběhu času stále více funkcí a nevyhnutelně směřovat ke zvyšování složitosti. Možná to víte jako funkce tečení, což je pokračující přidávání nových funkcí, které nemají nic společného s hlavním účelem programu. Dotvarování funkcí vede k nadýmání a nadýmání je často nežádoucí.
To se může vztahovat také na výkon softwaru:
“Software se rozšiřuje, aby spotřeboval všechny dostupné zdroje.”
V 90. letech byly pevné disky a procesory a RAM mnohem restriktivnější než dnes a programátoři tvrdě pracovali, aby se vešly co nejvíce v mezích. Přesto nyní, když máme větší jednotky a rychlejší procesory a více paměti RAM, stále se snažíme respektovat limity. V průběhu času se vše nafoukne. Udržet to pod kontrolou je vaší prací.
2. The “Horší je lepší” Mentalita
Téměř jako v reakci na Bloatův princip máme Horší je lepší mentalita, nejprve vytvořil Richard P. Gabriel v eseji, který napsal o kvalitě softwaru:
“Software, který je omezený, ale snadno použitelný, může být pro uživatele a trh přitažlivější než naopak.”
Jinými slovy, je moudré přijít na to jeden problém váš software si klade za cíl vyřešit a být velmi dobře na jednu věc. Nech to být jednoduché. Čím více se rozptýlíte, tím nezvládnutelnější bude projekt a tím nežádoucí bude pro uživatele.
Co se stane, když to ignorujete? Skončíte s Princip softwaru Peter:
“Příliš složitý projekt bude nakonec příliš složitý na to, aby jej pochopili i jeho vlastní vývojáři.”
Vychází z širšího principu Petera, který uvádí, že když jsou zaměstnanci povýšeni na základě své současné kompetence, a nikoli na základě své očekávané kompetence na svém dalším postavení, nakonec všichni zaměstnanci skončí v pozici neschopnosti. Vezměte tento princip a aplikujte jej na software a uvidíte, proč horší software může být často lepší.
3. Eaglesonův zákon
“Jakýkoli váš vlastní kód, na který jste se po dobu šesti nebo více měsíců nedívali, mohl také napsat někdo jiný.”
Toto zdánlivě demotivační rčení je vlastně něco, co je třeba přijmout. Pravda je, že nikdo není dokonalý. Možná si myslíte, že jste geniální programátor právě teď, ale existuje vždy něco víc se můžete naučit, vždy více prostoru pro růst. Pokud se někdy podíváte zpět na starý kód a přikrčíte se, pravděpodobně to znamená od té doby jsi se naučil něco nového.
Jinak řečeno: pokud se ohlédnete zpět na starý projekt a nevidíte nic, co byste mohli vylepšit nebo byste příště udělat jinak, pravděpodobně jste jako programátor stagnovali.
4. Princip nejmenšího úžasu
“Pokud má nezbytný prvek vysoký faktor úžasu, může být nutné jej přepracovat.”
Poprvé zveřejněno v IBM Systems Journal v roce 1984 je tato zásada ještě dnes překvapivě relevantní - snad více než kdy předtím.
V zásadě se dotýká jemné rovnováhy mezi inovací a známostí: jedná-li se o kus softwaru příliš odlišné od ostatních svého druhu a neodpovídá tak očekáváním uživatelů pravděpodobně to nepřijmou. Je lepší usilovat o postupná vylepšení, která jsou dostatečně velká, aby byla působivá, ale dostatečně malá, aby zůstala známá.
5. Zákon kybernetické entomologie
“Vždy je tu ještě jedna chyba.”
Často volané Lubarského zákon kybernetické entomologie, není jasné, kdo to vlastně Lubarsky je. Jeho princip však platí pro všechny programátory: bez ohledu na to, jak čistě píšete kód, bez ohledu na to, jak důkladně testujete své moduly, bez ohledu na to, jak často své třídy refaktorujete, bude vždy existovat další chyba.
Svým způsobem je to princip osvobození. I když bychom určitě měli usilovat pro kód bez chyb je také důležité si uvědomit, že perfekcionismus je nepřítelem dobra. Hledejte chyby, opravte je, když se objeví, a pak pokračujte dál.
6. Kernighanův zákon
“Ladění je dvakrát tak tvrdé jako psaní kódu. Pokud tedy kód napíšete co nejchytřejší, nejste podle definice dostatečně chytrí, abyste jej mohli ladit.”
Brian Kernighan, ten samý, kdo je spoluautorem bible v programovacím jazyce C Proč programování C stále stojí za učení Proč programování C stále stojí za učení Učení C není mrtvý jazyk. Ve skutečnosti jej časopis IEEE Spectrum v roce 2017 označil za nejlepší jazyk č. 2. Zde je pět důvodů. , je známý pro tento bystrý zákon. Těžištěm tohoto je: napsat dobrý kód, napište čitelný kód, napište jednoduchý kód, cokoli, pokud to tak není chytrý kód.
Pokoušet se napnout své programovací svaly složitostí slonovinové věže je přesný opak toho, co to znamená psát čistý a lepší kód. 10 tipů pro psaní čistšího a lepšího kódu 10 tipů pro psaní čistšího a lepšího kódu Psaní čistého kódu vypadá snadněji, než ve skutečnosti je, ale výhody se vyplatí. Takto můžete začít psát čistší kód ještě dnes. . Čím těžší je váš kód pochopit, tím těžší bude ladění, když se nevyhnutelně rozbije.
A jak vysvětluje Robert C. Martin, nejde jen o ladění:
“Ve skutečnosti je poměr času stráveného čtením a zápisem značně přes 10: 1. Neustále čteme starý kód jako součást snahy psát nový kód ... [Proto] snazší čtení usnadňuje psaní.”
7. Ladění gumové kachny
Tenhle není ani tak principem, jako technikou, ale je tak užitečný a podivný, že bychom byli nechtěni nechat to.
Nejprve řekl Pragmatický programátor, debugování gumové kachny je, když ladíte nefunkční software vysvětlením kódu na neživý objekt (např. gumovou kachnu) po jednom řádku. Funguje to proto, že akt vysvětlení spouští různé části vašeho mozku a je pravděpodobnější, že zjistíte nekonzistence a zjistíte, kde jste se pokazili..
Z tohoto důvodu může být gumová kachna překvapivě šikovným dárkem pro programátory Nejlepší dárky Geek pro programátory: 20 nápadů pro programátory a blbce Nejlepší dárky pro programátory Geek: 20 nápadů pro programátory a blbce Hledáte dárek pro programátory? Zde jsou nejlepší dárky od geek, od mechanických klávesnic až po stálé stoly a další. , ať už si ji koupíte pro sebe nebo za svého programovacího kamaráda.
8. Pravidlo devadesát devadesát
“Prvních 90 procent kódu představuje prvních 90 procent doby vývoje. Zbývajících 10 procent kódu představuje zbývajících 90 procent doby vývoje.”
Toto drzé malé přísloví Toma Cargilla se dostane do srdce toho, proč může být programování tak frustrující: bez ohledu na to, jak blízko si myslíte, že máte být hotovi, jste mnohem dál než dokonce vaše nejlepší odhady. Když si myslíte, že jste hotovi, jste tam jen na půl cesty.
To jde ruku v ruce s Hofstadterovým zákonem:
“Vždy to trvá déle, než jste čekali, i když berete v úvahu Hofstadterův zákon.”
9. Parkinsonův zákon
“Práce se rozšiřuje tak, aby zaplnila čas, který je k dispozici pro její dokončení.”
Tento jeden princip, vytvořený Cyril Northcote Parkinsonovou, je širším principem, který se absolutně vztahuje na programování, a jde ruku v ruce s výše zmíněným pravidlem devadesát devadesát: jak dlouho to však bude trvat, musíte dokončit projekt. Ve vývoji softwaru, “dokončení brzy” je do značné míry mýtus.
Parkinsonův zákon je důvodem, proč jsou řádné termíny rozhodující, pokud chcete software dokončit a odeslat. To je důvod, proč moderní profesionální programátoři často doporučují agilní principy projektového managementu. Jak používat agilní principy projektového managementu k organizaci vašeho života Jak používat agilní principy projektového managementu k organizaci vašeho života Agilní, nejlépe známý jako metoda projektového řízení, je skvělý rámec pro správu vašich osobní život. Ukážeme vám, jaké zásady si můžete půjčit - včetně bezplatného stažení listu! a nástroje pro řízení projektů, jako je Asana Trello vs. Asana: Nejlepší bezplatný nástroj pro řízení projektů… Trello vs. Asana: Nejlepší bezplatný nástroj pro řízení projektů… Výběr mezi Trello a Asana je obtížný. Zde porovnáme bezplatné plány a pomůžeme vám rozhodnout, který nástroj pro řízení projektů je pro váš tým nejlepší. .
10. Brookův zákon
“Přidání pracovní síly do pozdního softwarového projektu jej činí později.”
Až příště přijdete pozdě na projekt, což je pravděpodobné, protože většina programovacích projektů potřebuje více času, než je přiděleno, pamatujte, že přidání kodérů to nevyřeší rychleji.
Ve skutečnosti to bude pravděpodobně trvat delší dokončit. Nejen, že potřebujete uvést nový kodér (y) na rychlost, pravděpodobně se střetnou s existujícími kodéry. Bude třeba zdokumentovat více věcí, bude třeba více byrokracie, aby se všichni udrželi na stejné stránce, a z téhož času v době krize bude více tření.
Vpřed jako programátor
Nyní, když znáte tyto zásady, jste ve skutečnosti vhodnější pro reálný svět programování, nejen to, co jste se setkali ve škole, ve webovém kurzu nebo v bootcampu. Tyto principy pocházejí z let a let zkušeností a selhání.
S touto nově objevenou moudrostí se nyní můžete vydat na vysoce náročnou programovací kariéru. 10 úloh v počítačovém programování, které jsou právě teď v poptávce 10 úloh v počítačovém programování, které jsou právě teď v poptávce Protože přistání v programování může být v současné krajině obtížné, Zvažte zaměření na jednu z následujících koncentrací, abyste zvýšili své šance na úspěch. s realističtějšími očekáváními. Za tímto účelem se naučte, jak maximalizovat své programové kariérní příležitosti Jak zlepšit své programové kariérní příležitosti Jak zlepšit své programovací kariérní příležitosti Pokud doufáte, že svou kariéru v programování zahájíte, restartujete nebo jinak vylepšíte, není to snadné. Pokud jste na vysoké škole, nyní je čas. Zde je několik tipů, které vás mohou dostat daleko. . A pokud se rozhodnete, že programování není pro vás, nezoufejte - zvažte jednu z těchto nekódujících technologických úloh. Kódování není pro každého: 9 technických úloh, které můžete získat, bez kódování Není pro každého: 9 Tech Jobs, které můžete získat bez něj Nenechte se odradit, pokud chcete být součástí technologického oboru. Existuje spousta pracovních míst pro lidi bez kódovacích dovedností! .
Který z těchto principů je pro vás nejvhodnější? Znáte nějaké další divné principy programování, které nám chyběly? Dejte nám vědět v komentářích níže!