reklama
Už jsme vás prošli skrz nejdůležitější principy programování 10 Základní principy programování Každý programátor musí dodržovatVždy napište kód, který může udržovat kdokoli, kdo může na vašem softwaru skončit. Za tímto účelem je zde několik zásad programování, které vám pomohou vyčistit váš akt. Přečtěte si více 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 podivné a mnoho z nich je vtipných, ale všechny jsou stejně praktické a důležité. Dávejte pozor!
1. Princip Bloat
Tento má tolik variant, že je těžké vybrat jednu jako hlavní. Snad nejvíce „oficiální“ verzí je Zákon o softwarové obálce, běžněji nazývaný 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 k rostoucí složitosti. Možná to víte jako funkce tečení, což je neustálé 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 a spotřebovává 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. Je na vás, abyste to udrželi pod kontrolou.
2. „Horší je lepší“ mentalita
Téměř jako v reakci na Bloatův princip máme Horší je lepší mentalita, nejprve razil Richard P. Gabriel v eseji 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 Peterova principu, který uvádí, že když jsou zaměstnanci povýšeni na základě svého současného stavu kompetence a ne očekávaná kompetence na jejich další pozici, nakonec všichni zaměstnanci skončí v pozici neschopnost. 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 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 právě teď jste geniální programátor, 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.
Jinými slovy: pokud se podíváte 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á vlastnost vysoký faktor překvapení, může být nutné ji přepracovat."
Poprvé zveřejněno v IBM Systems Journal v roce 1984 je tento princip 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í: pokud je součástí softwaru příliš odlišné od ostatních svého druhu a neodpovídá tedy 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ždycky je tu ještě jedna chyba."
Často volané Lubarského zákon o kybernetické entomologii, 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ě si vyzkoušíte své moduly, bez ohledu na to, jak často měníte své třídy, vždy bude 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 na prvním místě." Pokud tedy píšete kód co nejchytřejší, nejde podle definice dost chytrý na to, abyste jej mohli ladit. “
Brian Kernighan, ten samý, který je spoluautorem bible v programovacím jazyce C Proč se programování v C stále stojí za 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ů proč. Přečtěte si více , 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.
Snaha o ohýbání programovacích svalů složitostí slonovinové věže je přesným opakem toho, co to znamená napsat čistý a lepší kód 10 tipů pro psaní Cleaner & lepší kódPsaní čistého kódu vypadá snadněji, než ve skutečnosti je, ale jeho přínosy stojí za to. Takto můžete začít psát čistší kód ještě dnes. Přečtěte si více . Čím těžší je váš kód pochopit, tím těžší bude ladění, když se nevyhnutelně rozbije.
A jako Robert C. Martin vysvětluje, že nejde jen o ladění:
„Poměr času stráveného čtením a psaním je skutečně přes 10: 1. Neustále čteme starý kód jako součást snahy napsat 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 ho nechali vynechat.
Nejprve řekl Pragmatický programátor, debugging 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 větší pravděpodobnost, že zjistíte nekonzistence a zjistíte, kde jste se pokazili.
Z tohoto důvodu může být gumová kachna a překvapivě šikovný dárek pro programátory Nejlepší dárky Geek pro programátory: 20 nápadů pro kodéry a blbceHledáte dárek pro programátora? Zde jsou nejlepší dárky od geek, od mechanických klávesnic až po stálé stoly a další. Přečtěte si více , 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 jádra 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ší princip, 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 ale budete muset dokončit projekt, je to, jak dlouho to bude trvat vzít. Ve vývoji softwaru je „dokončení brzy“ mýtus.
Parkinsonův zákon je důvodem, proč jsou řádné termíny rozhodující, pokud chcete software dokončit a odeslat. Proto moderní profesionální programátoři často doporučují agilní principy řízení projektů Jak používat agilní principy projektového řízení k organizaci vašeho životaAgilní, nejlépe známý jako metoda řízení projektů, je skvělým rámcem pro správu vašeho osobního života. Ukážeme vám, jaké zásady si můžete půjčit - včetně bezplatného stažení listu! Přečtěte si více a nástroje pro řízení projektů, jako je Asana Trello vs. Asana: Nejlepší bezplatný nástroj pro řízení projektů je ...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ší. Přečtěte si více .
10. Brookův zákon
"Přidání pracovní síly k pozdějšímu softwarovému projektu to dělá 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, nezapomeňte, ž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 do provozu, 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, s čím 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í můžete nyní vyrazit na vysoce náročná programovací kariéra 10 úloh v oblasti počítačového programování, které jsou právě teď na vyžádáníProtože přistání v programování může být v současné krajině obtížné, zvažte soustředění na jednu z následujících koncentrací, abyste zvýšili své šance na úspěch. Přečtěte si více s realističtějšími očekáváními. Naučte se to maximalizujte své možnosti programovací kariéry Jak vylepšit své programové pracovní příležitostiPokud doufáte, že začnete, restartujete nebo jinak vylepšíte svou programovací kariéru, není to snadné. Pokud jste na vysoké škole, nyní je čas. Zde je několik tipů, které vás mohou dostat daleko. Přečtěte si více . A pokud se rozhodnete, že programování není pro vás, nedělejte si starosti - zvažte jednu z nich místo toho nekódující technologické úlohy Kódování není pro každého: 9 technických úkolů, které můžete získat bez nějNenechte se odradit, pokud chcete být součástí technologického oboru. Existuje spousta pracovních míst pro lidi bez kódovacích dovedností! Přečtěte si více .
Který z těchto principů je pro vás nejpravdivě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!
Joel Lee má B.S. v oblasti informatiky a více než šest let praxe v psaní. Je šéfredaktorem MakeUseOf.