Articles

Nejlepší postupy kódování

Hlavní článek: Kódovací konvence

Tento bod je také velmi předpokladem kódování, jako McConnell poukazuje na to: „Vytvořit programovací konvence než začnete programování. Je téměř nemožné změnit kód tak, aby odpovídal později.“

jak je uvedeno na konci konvencí kódování, existují různé konvence pro různé programovací jazyky, takže může být kontraproduktivní používat stejné konvence v různých jazycích. Je důležité si uvědomit, že pro žádný programovací jazyk neexistuje žádná konkrétní konvence kódování. Každá organizace má vlastní kódovací standard pro každý typ softwarového projektu. Je proto nezbytné, aby si programátor před zahájením softwarového projektu vybral nebo vytvořil konkrétní sadu pokynů pro kódování. Některé konvence kódování jsou Obecné, které nemusí platit pro každý softwarový projekt napsaný s konkrétním programovacím jazykem.

použití konvencí kódování je zvláště důležité, pokud projekt zahrnuje více než jednoho programátora (existují projekty s tisíci programátorů). Pro programátora je mnohem snazší číst kód napsaný někým jiným, pokud se celý kód řídí stejnými konvencemi.

pro některé příklady špatných konvencí kódování poskytuje Roedy Green dlouhý článek o tom, jak vytvořit neudržitelný kód.

CommentingEdit

Vzhledem k časovému omezení nebo nadšené programátory, kteří chtějí okamžité výsledky pro jejich kódu, komentování kódu, často trvá na zadním sedadle. Programátoři pracující jako tým zjistili, že je lepší zanechat komentáře, protože kódování obvykle následuje cykly, nebo na konkrétním modulu může pracovat více než jedna osoba. Některé komentáře však mohou snížit náklady na přenos znalostí mezi vývojáři pracujícími na stejném modulu.

v prvních dnech výpočetní techniky, jeden komentování praxe bylo zanechat stručný popis následujících:

  1. Název modulu
  2. Cílem Modulu
  3. Popis Modulu
  4. Autora
  5. Změny
  6. Autoři, kteří upravený kód s popisem o tom, proč to bylo změněno.

„popis modulu“ by měl být co nejkratší, ale bez obětování jasnosti a komplexnosti.

poslední dvě položky však byly do značné míry zastaralé příchodem systémů kontroly revizí. Modifikace a jejich autorství lze spolehlivě sledovat pomocí takových nástrojů spíše než pomocí komentářů.

Pokud se používá komplikovaná logika, je dobré zanechat komentář „blok“ poblíž této části, aby jiný programátor pochopil, co přesně se děje.

testování jednotek může být dalším způsobem, jak ukázat, jak má být kód použit.

pojmenování conventionsEdit

Viz také: maďarský zápis

použití správných konvencí pojmenování je považováno za dobrou praxi. Někdy programátoři mají tendenci používat X1, Y1 atd. jako proměnné a zapomenout je nahradit smysluplnými, což způsobuje zmatek.

obvykle se považuje za dobrou praxi používat popisné názvy.

Příklad: proměnné pro přijetí v hmotnosti jako parametr pro náklaďák může být jmenován TrkWeight nebo TruckWeightKilograms, s TruckWeightKilograms být lepší než jeden, protože to je okamžitě rozpoznatelné. Viz CamelCase pojmenování proměnných.

ponechte kód simpleEdit

kód, který programátor zapíše, by měl být jednoduchý. Složitá logika pro dosažení jednoduché věci by měla být omezena na minimum, protože kód může být v budoucnu upraven jiným programátorem. Logika, kterou jeden programátor implementoval, nemusí druhému dávat dokonalý smysl. Takže vždy udržujte kód co nejjednodušší.

například, zvažte tyto ekvivalentní řádků C kódu:

if (hours < 24 && minutes < 60 && seconds < 60){ return true;}else{ return false;}

a

if (hours < 24 && minutes < 60 && seconds < 60) return true;else return false;

a

return hours < 24 && minutes < 60 && seconds < 60;

1. přístup, který je mnohem více běžně používaný, je podstatně větší než 3. Zejména spotřebuje 5krát více vertikálního prostoru obrazovky (čáry) a 97 znaků oproti 52 (ačkoli editační nástroje mohou snížit rozdíl ve skutečném psaní). Je to sporné, nicméně, což je „jednodušší“. První má explicitní if / then else, s explicitní návratovou hodnotou zjevně spojenou s každým; ani začínající programátor by neměl mít potíže s porozuměním. 2. pouze odhodí rovnátka, řezání“ vertikální “ velikosti na polovinu s malou změnou koncepční složitosti. Ve většině jazyků „návrat“ prohlášení může být také připojen k předchozí řádky, přináší „vertikální“ velikosti pouze jeden řádek, že 3. forma.

třetí forma samozřejmě minimalizuje velikost, ale může zvýšit složitost: Ponechává implicitní hodnoty“ true „a“ false „a prolíná pojmy“ podmínka „a“návratová hodnota“. To je pravděpodobně zřejmé, že většina programátorů, ale začátečník nemusí hned pochopit, že výsledek vyhodnocení podmínky je vlastně hodnota (typu Boolean, nebo jeho ekvivalent v jakémkoli jazyce), a tak lze manipulovat nebo se vrátil. V realističtějších příkladech, 3. formulář by mohl mít problémy kvůli prioritě operátora, možná vrácení neočekávaného typu, kde předchozí formuláře by v některých jazycích hlásily chybu. „Jednoduchost“ tedy není jen otázkou délky, ale logické a koncepční struktury; zkrácení kódu může způsobit, že bude méně či složitější.

u velkých programů s dlouhou životností, které používají podrobné alternativy, by mohly přispět k nadýmání.

kompaktnost umožňuje programátorům Zobrazit více kódu na stránku, což snižuje posouvání gest a stisknutí kláves. Vzhledem k tomu, kolikrát kód by mohl být viděn v procesu psaní a udržování, to by mohlo znamenat významné úspory v programátor stisky kláves v životě kódu. To nemusí zdát významný, aby student nejprve učí programovat, ale při vytváření a udržování rozsáhlých programů, snížení, kolik řádků kódu existuje umožňuje více kódu, aby se vešly na obrazovku, drobné zjednodušení kódu může zlepšit produktivitu, a také snížit prst, zápěstí a očí, které jsou společné zdravotní problémy, trpěl tím, že produkce programátory a informačních pracovníků.

kódování Terser zrychluje kompilaci velmi mírně, protože je třeba zpracovat méně symbolů. Dále, 3. přístup může umožnit snadnější srovnání podobných řádků kódu, zvláště když se mnoho takových konstrukcí může objevit na jedné obrazovce současně.

konečně, velmi terses rozvržení může lépe využívat moderní širokoúhlé počítačové displeje, v závislosti na rozložení monitoru a nastavení. V minulosti, obrazovky byly omezeny na 40 nebo 80 znaků (tyto limity vznikl mnohem dříve: rukopisy, tištěné knihy, a dokonce i svitky, se po tisíciletí používá poměrně krátké řádky (viz například Gutenbergova Bible). Moderní obrazovky mohou snadno zobrazit 200 nebo více znaků, což umožňuje extrémně dlouhé čáry. Většina moderních stylů a standardů kódování nezabírá celou šířku. Pokud tedy používáte jedno okno tak široké jako obrazovka, plýtvá se velkým množstvím dostupného místa. Na druhou stranu, s více oken, nebo pomocí IDE nebo jiný nástroj s různými informacemi v boční panely, k dispozici šířka kód je v rozsahu známém z dřívějších systémů.

je také třeba poznamenat, že lidský vizuální systém je výrazně ovlivněn délkou čáry; velmi dlouhé řádky mírně zvyšují rychlost čtení, ale snižují porozumění a zvyšují chyby sledování očí. Některé studie naznačují, že delší řádky se daří lépe online než v tisku, ale stále to jde jen asi 10 palců, a hlavně pro surovou rychlost čtení prózy.

PortabilityEdit

kód Programu by neměl obsahovat „hard-coded“ (doslovný) hodnoty s odkazem na parametry prostředí, jako je absolutní cesty k souboru, názvy souborů, uživatelská jména, názvy hostitelů, adresy IP, adresy Url, UDP/TCP porty. V opačném případě aplikace nebude spuštěna na hostiteli, který má jiný design, než se očekávalo. Pečlivý programátor může tyto proměnné parametrizovat a nakonfigurovat pro hostingové prostředí mimo vlastní aplikaci (například v souborech vlastností, na aplikačním serveru nebo dokonce v databázi). Porovnejte mantru „jediného bodu definice“ (SPOD).

Jako rozšíření, zdroje, jako jsou soubory XML by měly také obsahovat proměnné, spíše než doslovné hodnoty, jinak aplikace nebude přenosná do jiného prostředí bez úpravy XML soubory. Například u aplikací J2EE spuštěných na aplikačním serveru lze takové parametry prostředí definovat v rozsahu JVM a aplikace by odtud měla získat hodnoty.

Škálovatelnostedit

návrhový kód s škálovatelností jako Cílem návrhu, protože velmi často v softwarových projektech jsou nové funkce vždy přidávány do projektu, který se zvětšuje. Proto možnost přidat nové funkce do softwarové kódové základny se stává neocenitelnou metodou při psaní softwaru

ReusabilityEdit

opětovné použití je velmi důležitým designovým cílem při vývoji softwaru. Opětovné použití snižuje náklady na vývoj a také zkracuje čas na vývoj, pokud jsou komponenty nebo moduly, které jsou znovu použity, již testovány. Velmi často se stává, softwarových projektů, začít s existující základní, která obsahuje projekt ve své předchozí verze a v závislosti na projektu, mnoho stávajících softwarových modulů a komponent jsou znovu používány, což snižuje vývoj a testování čas, proto se zvyšuje pravděpodobnost, poskytování software, projekt podle plánu.

stavební pokyny ve stručnémeditovat

obecný přehled všech výše uvedených: