Groot programmeerwoorde of frases

SakbeskermerAs ek met 'n paar buitengewone programmeerders werk, kom ek gereeld in vergaderings met argitekte, leiers en ontwikkelaars wat (ek dink) graag groot woorde of frases daar buite wil gooi om produkbestuurders of hul kliënte te probeer skrik.

Dit is een van die dinge wat programmeerders graag wil doen. Hier is tien van hulle met 'n baie eenvoudige beskrywing (wat ongetwyfeld die woede van ontwikkelaars oral sal trek as ek hul terminologie dood kap met my eenvoudige motormetafore):

  1. onttrekking - dit verg 'n moeilike proses of funksie en breek dit basies logies af: óf deur hiërargie (A behoort aan B, B behoort aan C, ens.) Óf deur kenmerk of funksie (kleur, grootte, gewig, ens.). Abstraksie vergemaklik objekgeoriënteerde programmering deur die funksionaliteit logies te organiseer. Om my motor te bou, bou ek 'n raam, 'n enjin en 'n bak apart.
  2. afkeuring - dit beteken dat daar 'n paar ou kode in die stelsel is wat kan bly maar uitgefaseer moet word. Wanneer die kode verouderd is, verwys programmeerders nie na die kode nie, of gebruik hulle die nuwer kode voordat alle verwysings na die oue gegaan het, en dan moet dit verwyder word. Soms, as dit 'n funksie is wat verdwyn, kan u dit 'n rukkie bewaar met die waarskuwing aan u gebruikers dat dit verdwyn. Ek kry 'n nuwe stereo-stelsel met nuwe bedrading, maar ek verlaat die ou bedrading en gebruik dit nie.
  3. inkapseling - dit is die proses om u programmeerfunksies binne 'n ouer te orden as die funksie nie oor enige ander dele van die stelsel uitkom nie. As u miljoene funksies het, wil u dit effektief organiseer en funksioneer binne die gebiede wat hulle bedryf, eerder as om dit wêreldwyd beskikbaar te hê. Ek sit die motor se ondersteunende werktuigkundiges in die enjinkompartement ... Ek sit nie die oliefilter op die agtersitplek nie.
  4. Erfenis - dit is die vermoë om die eienskappe van 'n ander stuk gewone kode ('n klas) aan te wend om dit weer vir nuwe funksies te gebruik sonder om dit te herskryf. Erfenis is nog 'n goeie objekgerigte ontwikkelingspraktyk. My motorsitplek kan gebruik word om 'n kind of volwassene te vervoer - wie ook al daarin sit.
  5. normalisering - dit is die metode om data meer doeltreffend in 'n databasis te organiseer deur verwysings uit te bou. 'N Voorbeeld sou wees as ek die hele dag verkeersligte moes opneem ... rooi, geel en groen. In plaas daarvan om elke rekord met rooi, geel en groen te skryf - skryf ek 1, 2 en 3 en maak dan 'n ander tabel waar 1 = rooi, 2 = geel en 3 = groen. Op hierdie manier neem ek net een keer rooi, geel en groen op. Elk van my motordeure het dieselfde deurhandvatsel. Een handvatsel wat op 4 verskillende plekke gebruik word, eerder as in 4 verskillende handvatsels.
  6. Objekgeoriënteerde - in moderne programmeertale is dit 'n ontwerpmetode waarmee u spesifieke kode in stukke kan skryf, volgens funksionaliteit, en dan weer kan gebruik. 'N Voorbeeld kan wees as ek 'n geldige e-posadres wil soek. Ek kan die funksie een keer bou en dit dan gebruik waar ook al wat ek nodig het in my toepassing. My motor het 18 ″ velde wat deur dieselfde of ander vervaardigers op ander motors gebruik kan word.
  7. polimorfisme - Dit is moeilik om te verklaar, maar basies is dit die vermoë om kode te ontwikkel wat dinamies vir ander situasies gebruik kan word. Met ander woorde, dit kan unieke en dinamiese funksies erf volgens die manier waarop dit verwys word. Dit is 'n baie doeltreffende ontwikkelingsmiddel. Ek kan my motor se stopcontact gebruik om my foon te laai of om sap aan my bandpomp te gee.
  8. Rekursie - dit is 'n metode waar die kode self verwys. Soms is dit doeltreffend en opsetlik, maar ander kere kan u toepassings buite beheer raak. Ek klik soek op my motor-stereo en dit loop deur die radiostasies. Dit maak nooit klaar nie, hou net aan.
  9. refactoring - dit is die proses om kode te herskryf om dit makliker te kan volg of beter te organiseer, maar nie noodwendig enige addisionele funksies by te voeg nie. Ek bou my enjin weer op.
  10. Bediener-georiënteerde argitektuur (SOA) - neem objekgeoriënteerde programmering en pas dit toe op groot stelsels waar u hele stelsels kan hê wat sekere funksies verrig. U het miskien 'n kliëntverhoudingsbestuurstelsel wat spreek tot 'n e-handelsstelsel wat met 'n versendingstelsel praat, ens. Ek trek 'n sleepwa met my motor om artikels van een plek na 'n ander te stuur. Ek gebruik 'n trailor hitch (XML) om dit aan te sluit.

Ek besef dat my metafore nie altyd heeltemal teiken was nie. Ek hoop egter dat hulle 'n bietjie gehelp het!

'N Paar raad as u hierdie woorde hoor tydens u volgende ontmoeting met 'n ontwikkelaar ... hardloop nie terug na u sitplek en kyk daarna nie Wikipedia, hulle sal kyk. Moenie skrik nie, hulle sal aanval. Hier is wat u moet doen ... nadink deur die venster asof u diep ingedagte is en kyk dan terug met 'n nuuskierige blik of krap u ken. Wag tot hulle hul verklaring met meer inligting opvolg.

... Hulle kyk.

8 Comments

  1. 1

    LOL jy het dit regtig vasgespyker Doug 🙂 Probeer jy ons buite werking stel? U weet dit goed, ons reken dat die konsepte nie verstaan ​​word nie en dat ons dus met kliënte te make het. Nou moet ons 'n manier uitvind om hulle weg te blaas kombinasie van daardie modewoorde om een ​​reuse-frase te skep wat so kan lyk:

    Wel, u weet dat die funksie wat u probeer insit, kan opgeneem word in verskeie voorwerpe wat die funksionaliteit saamvat en kommunikeer deur 'n diensgerigte argitek.

  2. 5

    As 'n sagteware-ontwikkelaar kan ek hierdie boodskap waardeer. Ons is egter nie so sleg nie - ek sal mense nooit met so 'n techno-gebrabbel bamboes maak nie

    Laat ek nog 'n paar woorde vir u uitdink ...

Wat dink jy?

Hierdie webwerf gebruik Akismet om spam te verminder. Leer hoe jou opmerking verwerk is.