Articles

Legjobb kódolási gyakorlatok

fő cikk: kódolási egyezmények

Ez a szakasz valóban előfeltétele a kódolásnak, amint McConnell rámutat: “programozási egyezmények létrehozása a programozás megkezdése előtt. Szinte lehetetlen megváltoztatni a kódot, hogy később megfeleljen nekik.”

amint az a kódolási egyezmények vége közelében szerepel, a különböző programozási nyelvekre különböző egyezmények vonatkoznak, így ellentétes lehet ugyanazon egyezmények alkalmazása különböző nyelveken. Fontos megjegyezni, hogy egyetlen programozási nyelvhez sem létezik külön kódolási egyezmény. Minden szervezetnek egyedi kódolási szabványa van minden típusú szoftverprojekthez. Ezért elengedhetetlen, hogy a programozó a szoftverprojekt megkezdése előtt válasszon vagy készítsen egy adott kódolási iránymutatást. Egyes kódolási egyezmények általánosak, amelyek nem feltétlenül vonatkoznak minden olyan szoftverprojektre, amelyet egy adott programozási nyelvvel írtak.

a kódolási egyezmények használata különösen fontos, ha egy projekt egynél több programozót foglal magában (több ezer programozóval rendelkező projektek voltak). A programozó számára sokkal könnyebb olvasni valaki más által írt kódot, ha az összes kód ugyanazokat az egyezményeket követi.

néhány példa a rossz kódolási egyezmények, Roedy Green nyújt hosszadalmas (nyelv-in-cheek) cikket, hogyan kell előállítani karbantarthatatlan kódot.

CommentingEdit

időkorlátozások vagy lelkes programozók miatt, akik azonnali eredményeket akarnak kódjukhoz, a kód kommentálása gyakran hátsó helyet foglal el. A csapatként dolgozó programozók azt találták, hogy jobb, ha megjegyzéseket hagynak hátra, mivel a kódolás általában ciklusokat követ, vagy egynél több személy dolgozhat egy adott modulon. Néhány megjegyzés azonban csökkentheti az ugyanazon modulon dolgozó fejlesztők közötti tudásátadás költségeit.

a számítástechnika korai napjaiban az egyik kommentálási gyakorlat az volt, hogy rövid leírást adjon a következőkről:

  1. a modul neve
  2. a modul célja
  3. A modul leírása
  4. eredeti szerző
  5. módosítások
  6. szerzők, akik módosították a kódot egy leírással arról, hogy miért módosították.

a “modul leírása” a lehető legrövidebb legyen, de az egyértelműség és az érthetőség feláldozása nélkül.

az utolsó két elemet azonban nagyrészt elavulták a felülvizsgálati ellenőrző rendszerek megjelenése. A módosítások és szerzőségük megbízhatóan nyomon követhető az ilyen eszközök használatával, nem pedig a Megjegyzések használatával.

továbbá, ha bonyolult logikát használnak, jó gyakorlat, ha megjegyzést hagyunk a “blokk” közelében, hogy egy másik programozó megértse, mi történik pontosan.

az Egységtesztelés egy másik módja annak, hogy megmutassuk, hogyan kell használni a kódot.

elnevezési szokásokszerkesztés

Lásd még: helyes gyakorlatnak számít a magyar jelölés

megfelelő elnevezési konvenciók használata. Néha a programozók hajlamosak az X1, Y1 stb. mint változók és felejtsd el helyettesíteni őket értelmes is, ami zavart.

általában helyes gyakorlatnak tekintik a leíró nevek használatát.

példa: a tehergépkocsi paramétereként a súly bevitelére szolgáló változót trkweight vagy Truckweightkilogrammnak lehet nevezni, a truckweightkilogramm pedig a legkedvezőbb, mivel azonnal felismerhető. Lásd CamelCase elnevezése változók.

tartsa meg a simpleEdit

kódot, amelyet a programozó ír, egyszerűnek kell lennie. Az egyszerű dolgok elérésének bonyolult logikáját minimálisra kell csökkenteni, mivel a kódot a jövőben egy másik programozó módosíthatja. A logika egy programozó végre nem lehet tökéletes értelme, hogy a másik. Tehát mindig tartsa a kódot a lehető legegyszerűbben.

vegyük például a C-kód ekvivalens sorait:

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

és

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

és

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

az 1.megközelítés, amelyet sokkal gyakrabban használnak, lényegesen nagyobb, mint a 3. Különösen, hogy fogyaszt 5-ször több képernyő függőleges tér( vonalak), 97 karakter versus 52 (bár szerkesztő eszközök csökkentheti a különbséget a tényleges gépelés). Vitatható azonban, ami “egyszerűbb”. Az elsőnek van egy kifejezett if / then else, kifejezett visszatérési értékkel, amely nyilvánvalóan mindegyikhez kapcsolódik; még egy kezdő programozónak sem kell nehézségekbe ütköznie annak megértésében. A 2. csupán eldobja a zárójeleket, a “függőleges” méretet felére vágva, a fogalmi összetettség kis változásával. A legtöbb nyelven a” return “nyilatkozatok is csatolni kell a korábbi sorok, így a” függőleges ” méret csak egy sort, hogy a 3.formában.

a harmadik forma nyilvánvalóan minimalizálja a méretet, de növelheti a komplexitást: A “true” és a “false” értékeket implicit módon hagyja, és összekeveri a “condition” és a “return value”fogalmakat. Ez valószínűleg nyilvánvaló, hogy a legtöbb programozó, de a kezdő nem azonnal megérteni, hogy az eredmény értékelése feltétel valójában egy érték (típusú logikai, vagy azzal egyenértékű bármilyen nyelven), és így lehet manipulálni, vagy vissza. Reálisabb példákban a 3. formanyomtatványnak problémái lehetnek az operátor elsőbbsége miatt, talán egy váratlan típus visszatérésével, ahol a korábbi űrlapok néhány nyelven hibát jelentenek. Így az “egyszerűség” nem csupán hosszkérdés, hanem logikai és fogalmi struktúra; a kód rövidebbé tétele kevésbé vagy összetettebbé teheti azt.

nagy, hosszú életű, verbose alternatívákat használó programok hozzájárulhatnak a duzzadáshoz.

a tömörség lehetővé teszi a kódolók számára, hogy oldalanként több kódot tekintsenek meg, csökkentve a görgetési gesztusokat és a billentyűleütéseket. Tekintettel arra, hogy hányszor kód lehet megtekinteni a folyamat az írás és fenntartása, ez lehet, hogy jelentős megtakarítást programozó billentyűleütések az élet a kódot. Ez lehet, hogy nem tűnik jelentős, hogy egy diák első a tanulás program de, ha a termelő, illetve fenntartása nagy programok csökkentése hány sornyi kódot vannak lehetővé teszi, hogy több a kódot, hogy elférjen a képernyőn, kisebb kód egyszerűsítés lehet, hogy a termelékenység javítása, valamint csökkenti ujj, csukló, valamint a szem megerőltetése, amelyek közös orvosi kérdések által elszenvedett termelési programozóknak, valamint az információs munkások.

Terser kódolási sebesség összeállítása nagyon kis, mivel kevesebb szimbólumot kell feldolgozni. Ezenkívül a 3. megközelítés lehetővé teszi a hasonló kódsorok könnyebb összehasonlítását, különösen akkor, ha sok ilyen konstrukció egyszerre jelenhet meg egy képernyőn.

végül, nagyon terses elrendezések jobban kihasználja a modern széles képernyős számítógépes kijelzők, attól függően, hogy a monitor elrendezését, valamint a telepítést. A múltban a képernyők 40 vagy 80 karakterre korlátozódtak (az ilyen korlátok sokkal korábban keletkeztek: a kéziratok, a nyomtatott könyvek, sőt a tekercsek évezredek óta meglehetősen rövid sorokat használtak (lásd például a Gutenberg Bibliát). A Modern képernyők könnyen megjeleníthetnek 200 vagy több karaktert, lehetővé téve a rendkívül hosszú sorokat. A legtöbb modern kódolási stílus és szabvány nem veszi fel ezt a teljes szélességet. Így, ha egy olyan széles ablakot használ, mint a képernyő, sok rendelkezésre álló hely elpazarolódik. Másrészt, több ablakkal, IDE vagy más eszköz használatával, különféle információkkal az oldalsó panelekben, a kód elérhető szélessége a korábbi rendszerekből ismert tartományban van.

érdemes megjegyezni, hogy az emberi vizuális rendszert nagymértékben befolyásolja a vonal hossza; a nagyon hosszú vonalak kissé növelik az olvasási sebességet, de csökkentik a megértést és növelik a szemkövetési hibákat. Egyes tanulmányok azt sugallják, hogy a hosszabb sorok jobban járnak az interneten, mint a nyomtatásban, de ez még mindig csak körülbelül 10 hüvelykig terjed, elsősorban a próza olvasásának nyers sebességére.

PortabilityEdit

a programkód nem tartalmazhat” kemény kódolt ” (szó szerinti) értékeket, amelyek a környezeti paraméterekre vonatkoznak, például abszolút fájlpályák, fájlnevek, felhasználónevek, gazdanevek, IP-címek, URL-ek, UDP/TCP portok. Ellenkező esetben az alkalmazás nem fut olyan gazdagépen, amely a vártnál eltérő kialakítású. Egy gondos programozó paraméterezheti ezeket a változókat, majd konfigurálhatja azokat a hosting környezethez az alkalmazáson kívül megfelelő (például tulajdonságfájlokban, egy alkalmazásszerveren vagy akár egy adatbázisban). Hasonlítsa össze az “egy meghatározási pont”(SPOD) mantráját.

kiterjesztésként az erőforrásoknak, például az XML fájloknak is változókat kell tartalmazniuk, nem pedig szó szerinti értékeket, különben az alkalmazás nem lesz hordozható egy másik környezetbe az XML fájlok szerkesztése nélkül. Például egy alkalmazáskiszolgálón futó J2EE alkalmazások esetén az ilyen környezeti paraméterek meghatározhatók a JVM hatókörében, az alkalmazásnak pedig onnan kell megkapnia az értékeket.

ScalabilityEdit

tervezési kód skálázhatósággal, mint tervezési cél, mert nagyon gyakran a szoftverprojektekben új funkciókat adnak hozzá egy nagyobb projekthez. Ezért lehetőség, hogy új funkciókat a szoftver kód bázis válik felbecsülhetetlen módszer írásban szoftver

ReusabilityEdit

Re-use egy nagyon fontos tervezési cél a szoftverfejlesztés. Az újrafelhasználás csökkenti a fejlesztési költségeket, valamint csökkenti a fejlesztési időt, ha az újrafelhasznált alkatrészeket vagy modulokat már tesztelték. Nagyon gyakran, szoftver projektek kezdeni egy meglévő alapvonal, amely tartalmazza a projekt korábbi verzióját, és attól függően, hogy a projekt, sok meglévő szoftver modulok és alkatrészek újrafelhasználása, amely csökkenti a fejlesztési és vizsgálati idő, ezért növeli a valószínűségét nyilvánított szoftver projekt menetrend.

építési Irányelvek röviden:

a fentiek általános áttekintése: