Store programmeringsord eller sætninger

Pocket ProtectorArbejder med nogle ekstraordinære programmører, finder jeg mig ofte i møder med arkitekter, kundeemner og udviklere, der (tror jeg) elsker at smide nogle store ord eller sætninger derude for at prøve at skræmme pokker ud af Product Managers eller deres kunder.

Det er en af ​​de ting, som programmører kan lide at gøre. Her er ti af dem med en meget enkel beskrivelse (der utvivlsomt vil trække udviklernes vrede overalt, når jeg hacker deres terminologi ihjel med mine enkle bilmetaforer):

  1. abstraktion - dette tager en vanskelig proces eller funktion og dybest set nedbryder det logisk ... enten ved hierarki (A hører til B, B hører til C osv.) Eller efter funktion eller funktion (farve, størrelse, vægt osv.). Abstraktion gør objektorienteret programmering lettere ved at organisere funktionaliteten logisk. For at bygge min bil bygger jeg en ramme, en motor og en karosseri separat.
  2. udfasning - det betyder, at der er en gammel kode i systemet, som muligvis forbliver, men som skal udfases. Når kode er udfaset, henviser programmører ikke til koden eller bruger nyere kode, før alle referencer er gået til den gamle, hvorpå den skal fjernes. Nogle gange, hvis det er en funktion, der forsvinder, kan du gemme den et stykke tid med en advarsel til dine brugere om, at den forsvinder. Jeg får et nyt stereoanlæg med nye ledninger, men jeg forlader de gamle ledninger og bruger det ikke.
  3. Indkapsling - dette er processen med at organisere dine programmeringsfunktioner i en forælder, når funktionen ikke når ud over andre dele af systemet. Hvis du har millioner af funktioner, vil du have dem effektivt organiseret og fungere inden for de områder, de opererer i stedet for at have dem tilgængelige globalt. Jeg sætter motorens støttemekanik i motorrummet ... Jeg sætter ikke oliefilteret i bagsædet.
  4. Arv - dette er evnen til at påtage sig egenskaberne for et andet stykke fælles kode (en klasse) for at genbruge det til ny funktionalitet uden at skulle omskrive det. Arv er en anden god objektorienteret udviklingspraksis. Min bilsæde kan bruges til at bære et barn eller en voksen - den der sidder i den.
  5. normalisering - dette er metoden til at organisere data mere effektiv i en database ved at opbygge referencer. Et eksempel ville være, hvis jeg skulle registrere trafiklys hele dagen ... rød, gul og grøn. I stedet for at skrive hver post med rød, gul og grøn - jeg skriver 1, 2 og 3 og lav derefter en anden tabel, hvor 1 = rød, 2 = gul og 3 = grøn. På denne måde optager jeg kun rød, gul og grøn en gang. Hver af mine bildøre har det samme dørhåndtag. Et håndtag, der bruges på 4 forskellige steder i stedet for 4 forskellige håndtag.
  6. Objektorienteret - på moderne programmeringssprog er dette en designmetode, der giver dig mulighed for at skrive specifik kode i stykker efter funktionalitet og derefter genbruge dem. Et eksempel kunne være, hvis jeg ville kontrollere en gyldigt konstrueret e-mail-adresse. Jeg kunne opbygge funktionen en gang og derefter bruge den hvor som helst jeg har brug for det i min applikation. Min bil har 18 ″ fælge, der kan bruges på andre biler af den samme eller andre producenter.
  7. polymorfi - Denne er svær at forklare, men dybest set er det evnen til at udvikle kode, der kan bruges dynamisk til andre situationer. Med andre ord kan det arve unik og dynamisk funktionalitet simpelthen ved den måde, det refereres til. Dette er et meget effektivt middel til udvikling. Jeg kan bruge min bils stikkontakt til at oplade min telefon eller til at levere juice til min dækpumpe.
  8. rekursion - dette er en metode, hvor koden henviser til sig selv. Nogle gange er det effektivt og forsætligt, men andre gange kan det ende med at spiralisere dine applikationer ude af kontrol. Jeg klikker på søg på min bilstereo, og den går gennem radiostationerne. Det slutter aldrig, bare fortsætter.
  9. refactoring - dette er processen med omskrivning af kode for at gøre det lettere at følge eller organisere det bedre, men ikke nødvendigvis tilføje nogen yderligere funktionalitet. Jeg genopbygger min motor.
  10. Serverorienteret arkitektur (SOA) - tag objektorienteret programmering og anvend den på store systemer, hvor du kan have hele systemer, der udfører bestemte funktioner. Du har muligvis et system til styring af kundeforhold, der taler til et e-handelssystem, der taler til et forsendelsessystem osv. Jeg trækker en trailer med min bil for at sende genstande fra et sted til et andet. Jeg bruger et trailertræk (XML) til at forbinde dem.

Jeg er klar over, at mine metaforer ikke altid var perfekt på mål. Jeg håber dog, de hjalp lidt!

Nogle råd, når du hører disse ord i dit næste møde med en udvikler ... løb ikke tilbage til dit sæde og se dem op Wikipedia, de vil se. Vip ikke, de angriber. Her er hvad man skal gøre ... tænk ud gennem vinduet, som om man er dybt tænkt og så se tilbage med et nysgerrigt blik eller ridse hagen. Vent på, at de følger op på deres erklæring med mere info.

... De holder øje med.

8 Kommentarer

  1. 1

    LOL du virkelig spikret det Doug 🙂 Prøver du at sætte os ud af drift? Du ved jævnligt godt, at vi banker på, at disse begreber ikke bliver forstået og derfor har vores vej med klienter. Nu skal vi finde ud af en måde at sprænge dem en vej forbi kombinerer disse buzzwords til at skabe en kæmpe sætning, der kan gå sådan her:

    Nå ved du, at den funktion, du forsøger at sætte i, kan blive abstraheret til flere objekter, der indkapsler funktionaliteten og kommunikerer gennem en serviceorienteret arkitekt.

  2. 5

    At være softwareudvikler kan jeg sætte pris på dette indlæg. Vi er dog ikke så slemme 😉 Jeg ville aldrig bambusere folk med sådan en teknobabbel 🙂

    Lad mig prøve at finde nogle flere ord til dig ...

Hvad mener du?

Dette websted bruger Akismet til at reducere spam. Lær, hvordan dine kommentardata behandles.