Fjalë ose fraza të mëdha programuese

Mbrojtës xhepiDuke punuar me disa programues të jashtëzakonshëm, unë shpesh e gjej veten në takime me arkitektë, udhëheqës dhe zhvillues të cilët (mendoj se) duan të hedhin disa fjalë ose fraza të mëdha atje për të provuar dhe trembur menaxherët e produkteve ose klientët e tyre.

Oneshtë një nga ato gjëra që programuesit duan të bëjnë. Këtu janë dhjetë prej tyre me një përshkrim shumë të thjeshtë (që padyshim do të tërheq zemërimin e zhvilluesve kudo që kam, ndërsa unë shkatërroj terminologjinë e tyre deri në vdekje me metaforat e mia të thjeshta të makinës):

  1. abstragim - kjo po merr një proces ose funksion të vështirë dhe në thelb e prish atë logjikisht ... ose sipas hierarkisë (A i përket B, B i përket C, etj.) Ose sipas tiparit ose funksionit (ngjyra, madhësia, pesha, etj.). Abstraksioni e bën programimin e orientuar drejt objektit më të lehtë duke organizuar funksionalitetin në mënyrë logjike. Për të ndërtuar makinën time, unë ndërtoj një kornizë, një motor dhe një trup veç e veç.
  2. Amortizimi - kjo do të thotë që ekziston një kod i vjetër në sistem që mund të mbetet por duhet të hiqet gradualisht. Kur kodi është i amortizuar, programuesit nuk e referojnë kodin ose nuk përdorin kodin më të ri derisa të gjitha referencat të shkojnë te e vjetra, në të cilën kohë duhet të hiqet. Ndonjëherë, nëse është një veçori që po zhduket, mund ta mbani për një kohë me një paralajmërim për përdoruesit tuaj se po zhduket. Unë marr një sistem të ri stereo me instalime elektrike të reja, por unë lë instalimet e vjetra dhe nuk e përdor atë.
  3. encapsulation - ky është procesi i organizimit të funksioneve tuaja të programimit brenda një prindi kur funksioni nuk arrin në asnjë pjesë tjetër të sistemit. Nëse keni miliona funksione, dëshironi t'i keni ato të organizuara dhe funksionuese në mënyrë efikase brenda zonave që ato operojnë, në vend që t'i keni ato të disponueshme globalisht. Vendos mekanikën mbështetëse të motorit në dhomën e motorit ... Unë nuk e vendos filtrin e vajit në sediljen e pasme.
  4. Trashëgim - kjo është aftësia për të marrë vetitë e një pjese tjetër të kodit të zakonshëm (një klasë) në mënyrë që ta ripërdorni atë për funksionalitetin e ri pa pasur nevojë ta rishkruani atë. Trashëgimia është një tjetër praktikë e mirë e zhvillimit e orientuar drejt objektit. Selia ime e makinës mund të përdoret për të mbajtur një fëmijë ose një të rritur - kushdo që ulet në të.
  5. normalizim - kjo është metoda e organizimit të efikasitetit të të dhënave në një bazë të dhënash duke krijuar referenca. Një shembull do të ishte nëse do të më duhej të regjistroja semaforë gjatë gjithë ditës… të kuqe, të verdhë dhe jeshile. Në vend që të shkruaj çdo rekord me të kuqe, të verdhë dhe jeshile - unë shkruaj 1, 2 dhe 3 dhe pastaj bëj një tabelë tjetër ku 1 = e kuqe, 2 = e verdhë dhe 3 = e gjelbër. Në këtë mënyrë unë regjistroj të kuqe, të verdhë dhe jeshile vetëm një herë. Secila prej dyerve të makinës sime ka të njëjtën dorezë. Një dorezë, e përdorur në 4 vende të ndryshme sesa 4 doreza të ndryshme.
  6. I orientuar nga objekti - në gjuhët moderne të programimit, kjo është një metodë e dizajnit që ju lejon të shkruani kod specifik në pjesë, sipas funksionalitetit, dhe pastaj t'i ripërdorni ato. Një shembull do të ishte nëse do të doja të kontrolloja për një adresë emaili të ndërtuar në mënyrë të vlefshme. Unë mund ta ndërtoj funksionin një herë dhe pastaj ta përdor atje ku më duhet në aplikacionin tim. Makina ime ka 18 pista që mund të përdoren në makina të tjera nga i njëjti ose prodhues të tjerë.
  7. Polimorfizmi - Ky është i vështirë për tu shpjeguar, por në thelb është aftësia për të zhvilluar kod që mund të përdoret në mënyrë dinamike për situata të tjera. Me fjalë të tjera, ai mund të trashëgojë funksionalitet unik dhe dinamik thjesht nga mënyra se si referohet. Ky është një mjet shumë efikas i zhvillimit. Unë mund të përdor prizën elektrike të automobilit tim për të karikuar telefonin tim ose për të furnizuar me lëng pompën time të gomave.
  8. Recursion - kjo është një metodë ku kodi i referohet vetë. Ndonjëherë, është efikase dhe e qëllimshme, por herë të tjera mund të përfundojë duke dalë jashtë kontrollit të aplikacioneve tuaja. Unë klikoj të kërkoj në stereon e makinës time dhe ajo kalon nëpër stacionet e radios. Nuk mbaron kurrë, thjesht vazhdon.
  9. refactoring - ky është procesi i rishkrimit të kodit për ta bërë më të lehtë ndjekjen ose për ta organizuar atë më mirë, por jo domosdoshmërisht duke shtuar ndonjë funksionalitet shtesë. Unë rindërtoj motorin tim.
  10. Arkitektura e Orientuar në Server (SOA) - merrni programim të orientuar drejt objektit dhe zbatojeni atë në sisteme të mëdha ku mund të keni sisteme të tëra që kryejnë funksione të caktuara. Ju mund të keni një sistem të menaxhimit të marrëdhënieve me klientin që flet për një sistem ecommerce që flet për një sistem transporti, etj. Unë tërheq një rimorkio me makinën time për të dërguar sende nga një vend në tjetrin. Unë përdor një goditje tërheqëse (XML) për t'i lidhur ato.

E kuptoj që metaforat e mia nuk ishin gjithmonë në mënyrë të përsosur në shënjestër. Unë shpresoj se ata ndihmuan pak, sidoqoftë!

Disa këshilla kur i dëgjoni këto fjalë në takimin tuaj të ardhshëm me një zhvillues… mos u drejtoni përsëri në vendin tuaj dhe shikoni lart wikipedia, ata do të shikojnë. Mos u tremb, ata do të sulmojnë. Ja se çfarë të bëni ... meditoni nga dritarja sikur të jeni në mendime të thella dhe pastaj shikoni prapa me një vështrim kureshtar ose gërvishtni mjekrën. Prisni që ata të ndjekin deklaratën e tyre me më shumë informacion.

… Ata po shikojnë.

8 Comments

  1. 1

    LOL vërtet e gozhdove Doug 🙂 A po përpiqesh të na heqësh nga biznesi? Ju e dini dreq se ne mirëpresim ato koncepte që nuk kuptohen dhe për këtë arsye kemi rrugën tonë me klientët. Tani ne duhet të gjejmë një mënyrë për t'i fryrë ata një mënyrë kombinuar ato fjalë për të krijuar një frazë gjigande që mund të shkojë kështu:

    Epo ju e dini që tipari që po përpiqeni të vendosni mund të abstragohet në shumë objekte që përmbledhin funksionalitetin dhe komunikojnë përmes një arkitekture të orientuar drejt shërbimit.

  2. 5

    Duke qenë një zhvillues i softuerit, unë mund ta vlerësoj këtë postim. Ne nuk jemi të gjithë aq keq edhe pse 😉 Unë kurrë nuk do të bëja bamboozle me njerëz me fjalë të tilla teknike

    Më lejoni të provoj dhe të mendoj edhe disa fjalë për ju.

Çfarë mendoni ju?

Kjo faqe përdor Akismet për të reduktuar spamin. Mësoni se si përpunohet komenti juaj.