Stora programmeringsord eller fraser

FickskyddI arbetet med några exceptionella programmerare befinner jag mig ofta i möten med arkitekter, ledare och utvecklare som (tror jag) älskar att kasta några stora ord eller fraser där ute för att försöka skrämma bort produktcheferna eller deras kunder.

Det är en av de saker som programmerare gillar att göra. Här är tio av dem med en mycket enkel beskrivning (som utan tvekan kommer att dra utvecklarnas ilska överallt när jag hackar deras terminologi ihjäl med mina enkla bilmetaforer):

  1. Abstraktion - det här tar en svår process eller funktion och bryter den i grunden ned logiskt ... antingen genom hierarki (A tillhör B, B tillhör C, etc.) eller genom funktion eller funktion (färg, storlek, vikt etc.). Abstraktion underlättar objektorienterad programmering genom att organisera funktionaliteten logiskt. För att bygga min bil bygger jag en ram, en motor och en kaross separat.
  2. avskrivningar - det betyder att det finns någon gammal kod i systemet som kan finnas kvar men som måste fasas ut. När koden är utfasad refererar programmerare inte till koden eller använder nyare kod förrän alla referenser är borta till den gamla, vid vilken tidpunkt den ska tas bort. Ibland, om det är en funktion som försvinner, kan du behålla den en stund med en varning till användarna att den försvinner. Jag får ett nytt stereoanläggning med ny ledning men jag lämnar den gamla ledningen och använder den inte.
  3. inkapsling - det här är processen att organisera dina programmeringsfunktioner inom en förälder när funktionen inte når någon annan del av systemet. Om du har miljontals funktioner vill du ha dem effektivt organiserade och fungera inom de områden de verkar snarare än att ha dem tillgängliga globalt. Jag satte motorns stödmekanik i motorrummet ... Jag lägger inte oljefiltret i baksätet.
  4. Arv - detta är förmågan att ta på sig egenskaperna för en annan gemensam kod (en klass) för att återanvända den för ny funktionalitet utan att behöva skriva om den. Arv är en annan bra objektorienterad utvecklingspraxis. Min bilstol kan användas för att bära ett barn eller en vuxen - den som sitter i den.
  5. Normalisering - detta är metoden för att organisera data mer effektiv i en databas genom att bygga ut referenser. Ett exempel skulle vara om jag var tvungen att spela in trafikljus hela dagen ... rött, gult och grönt. I stället för att skriva varje post med rött, gult och grönt - jag skriver 1, 2 och 3 och gör sedan en annan tabell där 1 = röd, 2 = gul och 3 = grön. På så sätt spelar jag bara in rött, gult och grönt en gång. Alla mina bildörrar har samma dörrhandtag. Ett handtag, som används på 4 olika platser snarare än 4 olika handtag.
  6. Objektorienterad - i moderna programmeringsspråk är detta en designmetod som låter dig skriva specifik kod i bitar, efter funktionalitet, och sedan återanvända dem. Ett exempel skulle vara om jag ville leta efter en giltigt konstruerad e-postadress. Jag kunde bygga funktionen en gång och sedan använda den där jag behöver i min applikation. Min bil har 18 ims fälgar som kan användas på andra bilar av samma eller andra tillverkare.
  7. polymorfism - Den här är svår att förklara, men i princip är det förmågan att utveckla kod som kan användas dynamiskt för andra situationer. Med andra ord kan den ärva unik och dynamisk funktionalitet helt enkelt på det sätt som det refereras till. Detta är ett mycket effektivt utvecklingsmedel. Jag kan använda min bils eluttag för att ladda min telefon eller för att leverera juice till min däckpump.
  8. Rekursion - detta är en metod där koden refererar till sig själv. Ibland är det effektivt och avsiktligt, men andra gånger kan det sluta spira dina applikationer utom kontroll. Jag klickar söka på min bilstereo och den slingrar sig genom radiostationerna. Det slutar aldrig, det fortsätter bara.
  9. refactoring - detta är processen för att skriva om kod för att göra det lättare att följa eller organisera det bättre men inte nödvändigtvis lägga till ytterligare funktioner. Jag bygger om min motor.
  10. Serverorienterad arkitektur (SOA) - ta objektorienterad programmering och applicera den på stora system där du kan ha hela system som utför vissa funktioner. Du kan ha ett kundhanteringssystem som talar till ett e-handelssystem som talar till ett fraktsystem etc. Jag drar en släpvagn med min bil för att skicka föremål från en plats till en annan. Jag använder en trailerkoppling (XML) för att ansluta dem.

Jag inser att mina metaforer inte alltid var helt på mål. Jag hoppas att de hjälpte lite!

Några råd när du hör dessa ord i ditt nästa möte med en utvecklare ... spring inte tillbaka till din plats och leta upp dem wikipedia, de kommer att titta på. Vik inte, de kommer att attackera. Här är vad du ska göra ... fundera ut genom fönstret som om du är djupt tänkt och titta sedan tillbaka med ett nyfiket blick eller klia i hakan. Vänta tills de följer upp deklarationen med mer info.

... De tittar.

8 Kommentarer

  1. 1

    LOL du spikade det verkligen Doug 🙂 Försöker du sätta oss ur spel? Du vet jävla väl vi bankerar på att dessa begrepp inte förstås och därför har vårt sätt med kunder. Nu måste vi räkna ut ett sätt att blåsa dem ett sätt förbi kombinera dessa slagord för att skapa en jättefras som kan gå så här:

    Tja, du vet att funktionen du försöker sätta in kan dras ut till flera objekt som inkapslar funktionaliteten och kommunicerar via en serviceinriktad arkitekter.

  2. 5

    Som programvaruutvecklare kan jag uppskatta det här inlägget. Vi är dock inte så dåliga 😉 Jag skulle aldrig bambla människor med en sådan teknobabbling 🙂

    Låt mig försöka tänka upp några fler ord åt dig ....

Vad tror du?

Den här sidan använder Akismet för att minska spam. Läs om hur din kommentardata behandlas.