jak se vyhnout špagetovému kódu


Odpověď 1:

Při psaní kódu se problém, který kód řeší, provádí krok za krokem. Pokud to programátor dělá neustále, aniž by organizoval své nápady a myšlenky, je špagetový kód uvařený! Když k tomu dojde, kód se promění v hromadu nápadů, které fungují, ale je velmi snadné je rozbít a zároveň je velmi obtížné je přečíst. Kód lze snadno prolomit, protože je pravděpodobné, že kód nebyl správně rozdělen do tříd a metod. Navíc je těžké jej číst, protože se může skládat pouze z jedné třídy s mnoha proměnnými a metodami, protože programátor dříve nepřemýšlel o tom, jak by měl být program rozdělen.

Programovací jazyky nabízejí určitou syntaxi, kterou jsou kodéry vyzváni dodržovat, aby byl jejich kód snadněji čitelný a organizovaný. Například proměnné mají určité konvence pojmenování, které jasně zobrazují, co proměnná ukládá. Pouhé dodržení správné syntaxe však nestačí k tomu, aby se zabránilo snadno rozbitnému a matoucímu špagetovému kódu.

Mnoho zkušených programátorů řeší své projekty kreslením nebo psaním svých nápadů před kódováním. To jim pomáhá vyhnout se špagetovému kódu určením proměnných, metod a tříd, které jsou pro jejich program potřebné, aniž by je museli průběžně kódovat. Dalším způsobem, jak se vyhnout špagetovému kódu, by bylo používat metody, funkce a třídy tak často, jak potřebujete. Je mnohem snazší určit příčinu chyby, když vás pozornost upoutá na jedinou metodu, nikoli na stovky řádků kódu!

Stručně řečeno, pokud budete mít své myšlenky ohledně svého kódu pořádek, je pravděpodobné, že i váš konečný produkt. Než začnete psát kód, vězte, čeho se snažíte dosáhnout, použijte správnou syntaxi a odpovídajícím způsobem rozdělte kód. Komentáře a správné odsazení rozhodně také pomohou!


Odpověď 2:

Kód špaget vypadá jako tento okruh:

Nezačalo to takhle. Nejprve jste propojovali několik jednoduchých komponent. Postupem času si ale každá nová funkce vyžadovala nové připojení.

Tato nová připojení byla provedena na systému, který nebyl pro tato připojení navržen. To bylo do jisté míry nevyhnutelné. Systém je příliš složitý na to, aby se dal postavit najednou. Výsledkem je, že každá následující změna byla stále více nevhodná pro stávající okruh.

Celou tu dobu jste věděli, že se věci zhoršují, ale při každém kroku bylo snazší hacknout dohromady nové řešení, než přepracovat celý systém tak, aby se do něj vešel. Pustili jste se tedy dál a pilně hledali stále kreativnější způsoby, jak obejít své stále se zvyšující problémy.

Je zřejmé, že to může trvat jen tak dlouho. Začíná to tím, že věci jsou obtížnější, než by ve skutečnosti měly být. Nakonec to, co bývalo mírnou výzvou, se stalo obtížným. Začnete se bát dělat změny. Systém začíná být křehký, křehký, náchylný k rozbití při sebemenší provokaci. Nakonec je příliš obtížné něco dělat a jakýkoli další vývoj stagnuje.

Jak se tomu dalo zabránit? Refaktorování. Měli byste mít přepracované kousky obvodu, abyste se přizpůsobili změnám, které jste provedli, jak jste je provedli. Někdy tyto refaktory nejsou malé. Neexistuje žádná stříbrná kulka, žádný zastřešující princip, který vám navrhne váš systém. Udržování pořádku vyžaduje hodně vhledu a tvrdé práce. Konečný výsledek ale stojí za to.


Odpověď 3:

Jako termín je běžné říkat, že se odkazuje na (goto), ale jako koncept může být napsán v libovolném programovacím jazyce bez goto prostřednictvím špatné abstrakce a volání funkcí / metod, které neposkytují jasný význam toho, co se děje.

(1) Použití (přejdete) najdete v mnoha projektech, zkontrolujte jádro Linuxu a implementaci jazyka Ruby v C.

(2) Použijte jasné názvy pro třídy, metody, proměnné a funkce

(3) Upřednostňujte názvy dlouhých funkcí, které demonstrují účel funkce před zkrácenými názvy a komentáři.

(4) Rozdělujte a dobývejte, ale nevytvářejte funkce, které budou vyvolány jednou, dlouhé a jasné funkce s komentáři jsou lepší než mnoho funkcí, kde je každá volána jednou.

(5) Když přemýšlíte o Abstrakci, přemýšlejte o místech, která změníte, když přidáte / odeberete / upravíte prvek. Snižte počet těchto míst, jak je to možné.

(6) Používejte komentáře, když je musíte psát, abyste pochopili celkový obraz. Kód musí být dostatečně jasný, aniž by uváděl komentáře pro malé podrobnosti.

(7) Dokumentujte každý soubor a každou funkci.

(8) Neoptimalizujte nic, dokud si neuvědomíte, že to opravdu potřebujete, nebo od začátku víte, že je to nutné.

(9) Opuštění optimalizace neznamená, že budete psát hloupý kód a ponechávat jednoduché algoritmy, které jsou rychlejší a spotřebovávají méně paměti. ve vaší kultuře kódování musíte dodržovat úroveň optimalizace.


Odpověď 4:

Všechny ostatní odpovědi plus ... Najdete mnoho online návodů, dokonce i ty profesionálně placené mají tendenci ke špagetovému kódu. Jedním z běžných pachů iOS kódu v mnoha tutoriálech je monolitický řadič zobrazení. Autoři tutoriálů a začínající programátoři mají tendenci místo distribuování funkcí svého kódu vložit celý kód do jedné třídy. Je těžké se vyhnout, když jsou tutoriály napsány špatně! Druhým problémem je, že vy. prostě se nemůže stát dobrým kodérem pouhým čtením knih o dobrém kódování nebo návrhových vzorech, protože problémy, které řeší, pro vás nemají žádný význam, pokud jste nenapsali špatný kód _AND_ museli upravit nebo udržovat váš vlastní nebo cizí kód a najít vás strávit více času úpravou toho, co by podle vás mělo trvat pět minut a dva řádky, ladění nakonec zabere hodiny.

Běžci jsou obecně „špatní“, ale lze je použít k řešení problémů a nejsou špatní, pokud se používají se znalostmi a cíleným záměrem. Začátečníci nemají zkušenosti, aby měli znalosti. Ukazatele obvykle končí jako špatné věci i pro začátečníky. Ale zkušení programátoři vědí, kdy a. jak je používat.

  1. Napište kód. 2. Naučte se malý design. 3. Napište kód. 4 Naučte se další design. 5. Po chvíli vy. začne vidět problémy ve vašem vlastním kódu a bude aktivně hledat řešení na vlastní pěst.

Odpověď 5:

Jak se vyhnout psaní kódu špagety?

Teoreticky tím, že věděli, co to je, a vůbec to nenapsali,

V praxi tím, že vás nebo ostatní špatně kódujete, vám dostatečně ublíží, že vám záleží na tom, abyste vynaložili další úsilí - je snadné udělat nepořádek.

Další možností je, když váš kód zkontroluje někdo jiný, na kom mu záleží, a tak vás naučí nebo vás donutí nahradit špagetový kód.

Některé jazyky usnadňují proklouznutí ke špatným praktikám než jiné - vyberte si jazyk, díky kterému budete mít přehledné věci. Některé firemní kultury jsou lepší nebo horší v podpoře kvality, a to také rychle a špinavě.


Odpověď 6:

Špagetový kód je velké množství nečitelného, ​​neprofesionálního a velmi komplikovaného pro snadný program. Je to v podstatě kód napsaný někým, kdo si myslí, že je další Zuckerberg, a nakonec vytvoří kód s hromadou nepotřebných složitých věcí. Abyste se vyhnuli špagetovým kódům, nepředbíhejte se a učte se dál


Odpověď 7:

Špagetový kód je kód, který má zamotaný kontrolní tok. Pokud zobrazíte graf řídicího toku programu, čára by připomínala špagety. (Toto se obvykle používá pouze k popisu kódu v jedné funkci se špatným tokem řízení, nikoli v celém programu.)

Nejjednodušší způsob, jak se vyhnout psaní tohoto kódu, je plánovat dopředu. Pokud máte před zahájením programování dobrý plán, bude váš kód plynout lépe a bude čitelnější.


Odpověď 8:

Je to jen termín pro špatně napsané. To je obvykle charakterizováno věcmi jako podprogram volající podprogram končící návratem k ????? Je to jako snažit se následovat jeden pramen špaget v misce špaget. Je to indikace programátora, který není logický a je neuspořádaný.