Puha kód
A puha kód egy számítógép-programozási gyakorlat, ami adatokat és függvényeket szervez ki konfigurációs fájlokba. A program az adatokat preprocesszor makrókból, külső konstansokból, konfigurációs fájlokból, adatbázisból vagy parancssori argumentumokból szerzi. Ellentéte a kemény kód (hard code), amikor az adatok a forrásban szerepelnek.
A gyakorlatban
[szerkesztés]Önmagában a puha kód nem tekinthető programozási antimintának, mivel rugalmasságot nyújt a program konfigurálásához a szükséges mértékben. Ez hasonlít a varázsszámok elkerüléséhez, ami javítja az olvashatóságot és segíti a karbantartást. Az azonban, hogy túl sok adatot vesznek ki a kódból, tovább bonyolítja a programot és rontja a karbantarthatóságot. A puha kódot ez utóbbi értelemben a The Daily WTF egy cikke ismertette.[1]
Lehetséges következmények
[szerkesztés]Szélsőséges esetben a puhán kódolt programhoz kifejlesztenek egy kevéssé átgondolt szkriptnyelvet, és konfigurációs fájlokat, amelyek szerkesztéséhez fejlett programozási tudásra van szükség. Ehhez kifejlesztenek egy másik programot, ami gyakran szintén puhán kódolt.
A határ az elegendő és a túl sok között nem húzható meg mereven és nem is általános, függ a program stílusától és természetétől. A zárt kódú programoknak több beállítási lehetőséggel kell bírnia, mivel a felhasználók nem szerkeszthetik a kódot. Korlátozott terjesztésű programok esetén a kemény kód javasolt, mivel ilyenkor elegendő csak átírni magát a kódot. Webalkalmazások esetén a korlátozott konfigurálhatóság az előnyös, mivel a szkript megváltoztatása körülbelül olyan egyszerű, mint egy konfigurációs fájl átírása.
A puha kód elkerülésére figyelembe kell venni a végfelhasználó által elvárt rugalmasságot, és összehasonlítani a várható bonyodalmakkal, amiket a konfigurálhatóság okoz.
Alternatív megoldások
[szerkesztés]Több programtervezési minta is képes ugyanazt a rugalmasságot nyújtani, mint amit a puha kód megcéloz. Ha a kódnak konfigurációs fájlra van szüksége, akkor egy már létező szkriptnyelvet kell beiktatni, esetleg tartományspecifikus nyelvvel bővítve. Egy másik megközelítés, hogy az alkalmazás legtöbb funkcionalitását könyvtárakba szervezzük, és ehhez egy API-t nyújtunk, hogy egymáshoz hasonló alkalmazásokat lehessen fejleszteni.
Hasonló fogalmak
[szerkesztés]A képességtervezésben a puha kódnak más jelentései vannak.
- Kemény kód: Az adott képesség bele van kódolva a programba.
- Paraméteres: A képesség korlátozottan konfigurálható táblákkal, vagy tulajdonságfájlokkal.
- Puha kód: A képesség konfigurálásához szükséges értékeket nem közvetlenül olvassák be, hanem többet közülük számításokkal származtatnak. A szabályok szkript formában vannak megadva, paraméterként vannak jelen.
Jegyzetek
[szerkesztés]- ↑ Softcoding from The Daily WTF
Fordítás
[szerkesztés]Ez a szócikk részben vagy egészben a Softcoding című angol Wikipédia-szócikk fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.