Softcoding - Softcoding

Softcoding er en computer kodning begreb, der refererer til at opnå en værdi eller funktion fra nogle eksterne ressource, såsom tekstfiler , INI-filer , præprocessordirektiver makroer , eksterne konstanter, konfigurationsfiler , kommandolinje- argumenter, databaser, brugerinput, HTTP server svar. Det er det modsatte af hardcoding , der refererer til kodningsværdier og funktioner i kildekoden.

Programmeringspraksis

Det er god programmeringsskik at undgå hårdkodning af almindeligt ændrede værdier. Brugere af softwaren skal være i stand til at tilpasse den til deres behov inden for grund uden at skulle redigere programmets kildekode. På samme måde undgår omhyggelige programmører magiske tal i deres kode for at forbedre læsbarheden og hjælpe vedligeholdelse. Disse fremgangsmåder omtales normalt ikke som 'softcoding'.

Udtrykket bruges generelt, hvor softcoding bliver et anti-mønster . At abstrakte for mange værdier og funktioner kan indføre mere kompleksitets- og vedligeholdelsesproblemer, end man ville have oplevet med at ændre koden, når det er nødvendigt. Softcoding blev i denne forstand omtalt i en artikel om The Daily WTF .

Potentielle problemer

I den yderste ende udvikler softkodede programmer deres egne dårligt designede og implementerede script-sprog og konfigurationsfiler, der kræver avancerede programmeringsevner for at redigere. Dette kan føre til produktion af hjælpeprogrammer for at hjælpe med at konfigurere det originale program, og disse værktøjer ender ofte med at blive 'softcoded' selv.

Grænsen mellem korrekt konfigurerbarhed og problematisk soft-coding ændrer sig med programmets stil og karakter. Programmer med lukket kilde skal være meget konfigurerbare, da slutbrugeren ikke har adgang til kilden for at foretage ændringer. Intern software og software med begrænset distribution kan være mindre konfigurerbare, da distribution af ændrede kopier er enklere. Specialbyggede webapplikationer er ofte bedst med begrænset konfigurerbarhed, da ændring af scripts sjældent er sværere end at ændre en konfigurationsfil.

For at undgå 'softcoding' skal du overveje værdien for slutbrugeren af ​​enhver yderligere fleksibilitet, du giver, og sammenligne den med den øgede kompleksitet og relaterede løbende vedligeholdelsesomkostninger, som den ekstra konfiguration medfører.

Opnå fleksibilitet

Der findes flere legitime designmønstre for at opnå den fleksibilitet, som softcoding forsøger at give. En applikation, der kræver mere fleksibilitet, end det er passende for en konfigurationsfil, kan drage fordel af inkorporeringen af ​​et script-sprog . I mange tilfælde er det passende design et domænespecifikt sprog integreret i et etableret script-sprog. En anden tilgang er at flytte det meste af en applikations funktionalitet til et bibliotek, hvilket giver en API til hurtigt at skrive relaterede applikationer.

Andre betydninger

I funktionsdesign har softcoding andre betydninger.

  • Hardcoding : funktionen er kodet til systemet, der ikke tillader konfiguration
  • Parametrisk : funktionen kan konfigureres via tabeldrevne eller egenskabsfiler med begrænsede parametriske værdier
  • Softcoding: funktionen bruger “motorer”, der udleder resultater baseret på et vilkårligt antal parametriske værdier (dvs. forretningsregler i BRE ); regler er kodet, men findes som parametre i systemet, skrevet i scriptform

Se også

Referencer