Velike programske riječi ili fraze

Džepni zaštitnikSurađujući s nekim iznimnim programerima, često se nađem na sastancima s arhitektima, potencijalnim kupcima i programerima koji (mislim) vole izbaciti neke velike riječi ili fraze kako bi pokušali prestrašiti menadžere proizvoda ili njihove klijente.

To je jedna od stvari koju programeri vole raditi. Evo deset od njih s vrlo jednostavnim opisom (koji će nesumnjivo razbjesniti programere svugdje dok im nasmrt hakiram moje jednostavne metafore automobila):

  1. Apstrakcija - ovo zahtijeva težak proces ili funkciju i u osnovi ih logično raščlanjuje ... bilo hijerarhijom (A pripada B, B pripada C, itd.) Ili značajkom ili funkcijom (boja, veličina, težina itd.). Apstrakcija olakšava objektno programiranje logičnom organizacijom funkcionalnosti. Da bih izgradio svoj automobil, zasebno izrađujem okvir, motor i karoseriju.
  2. Negodovanje - to znači da u sustavu postoji neki stari kôd koji može ostati, ali ga treba postupno ukinuti. Kad je kôd zastario, programeri se ne pozivaju na njega niti koriste noviji kôd dok sve reference ne odu na stari, a tada ga treba ukloniti. Ponekad, ako je riječ o značajci koja se ukida, možete je zadržati neko vrijeme uz upozorenje svojim korisnicima da ukida. Dobivam novi stereo sustav s novim ožičenjima, ali ostavljam staro ožičenje i ne koristim ga.
  3. ovijanje - ovo je postupak organiziranja vaših programskih funkcija unutar roditelja kada funkcija ne doseže niti jedan drugi dio sustava. Ako imate milijune funkcija, želite ih učinkovito organizirati i funkcionirati u područjima u kojima rade, a ne da budu dostupne globalno. Stavio sam pomoćnu mehaniku motora u motorni prostor ... Ne stavljam filtar ulja na stražnje sjedalo.
  4. Nasljeđivanje - ovo je sposobnost preuzimanja svojstava drugog dijela zajedničkog koda (klase) kako bi se ponovno upotrijebila za novu funkcionalnost bez potrebe za ponovnim pisanjem. Nasljeđivanje je još jedna dobra objektno orijentirana razvojna praksa. Moja autosjedalica može se koristiti za nošenje djeteta ili odrasle osobe - tko god u njoj sjedio.
  5. Normalizacija - ovo je metoda organiziranja podataka efikasnijom u bazi podataka izgradnjom referenci. Primjer bi bio da moram snimati semafore cijeli dan ... crvene, žute i zelene. Umjesto da svaki zapis pišem crvenom, žutom i zelenom - napišem 1, 2 i 3, a zatim napravim drugu tablicu u kojoj je 1 = crvena, 2 = žuta i 3 = zelena. Na ovaj način samo jednom snimam crvenu, žutu i zelenu boju. Svaka moja vrata automobila imaju istu kvaku na vratima. Jedna ručka, koristi se na 4 različita mjesta, a ne na 4 različite ručke.
  6. Objektno orijentirano - u modernim programskim jezicima, ovo je metoda dizajna koja vam omogućuje da napišete određeni kôd u komadima, prema funkcionalnosti, a zatim ih ponovno upotrijebite. Primjer bi bio da želim provjeriti ima li ispravno izgrađenu adresu e-pošte. Mogao bih jednom izgraditi funkciju, a zatim je koristiti gdje god trebam u svojoj aplikaciji. Moj automobil ima 18 naplataka koje isti ili drugi proizvođači mogu koristiti na drugim automobilima.
  7. polimorfizam - Ovo je teško objasniti, ali u osnovi je to sposobnost razvijanja koda koji se može dinamički koristiti za druge situacije. Drugim riječima, može naslijediti jedinstvenu i dinamičnu funkcionalnost jednostavno načinom na koji se na nju referira. Ovo je vrlo učinkovito sredstvo za razvoj. Električnu utičnicu u automobilu mogu koristiti za punjenje telefona ili za napajanje sokom pumpe za gume.
  8. Rekurzije - ovo je metoda u kojoj se kod referira na sebe. Ponekad je učinkovit i namjeran, ali ponekad može izgubiti kontrolu nad vašim aplikacijama. Kliknem tražim na autoradio i on se provlači kroz radio stanice. Nikad ne završava, samo nastavlja.
  9. refactoring - ovo je postupak prepisivanja koda radi lakšeg praćenja ili boljeg organiziranja, ali ne nužno dodavanja dodatnih funkcija. Obnavljam svoj motor.
  10. Poslužiteljski orijentirana arhitektura (SOA) - uzmite objektno orijentirano programiranje i primijenite ga na velike sustave u kojima možete imati cijele sustave koji izvršavaju određene funkcije. Možda imate sustav upravljanja odnosima s kupcima koji razgovara sa sustavom e-trgovine koji razgovara sa sustavom otpreme itd. Vučem prikolicu svojim automobilom kako bih dopremao predmete s jednog mjesta na drugo. Za njihovo povezivanje koristim prikolicu za prikolicu (XML).

Shvaćam da moje metafore nisu uvijek bile savršeno na meti. Nadam se da su ipak malo pomogli!

Nekoliko savjeta kada ove riječi čujete na sljedećem sastanku s programerom ... ne trčite natrag na svoje mjesto i potražite ih Wikipedija, oni će gledati. Ne trznite, napasti će. Evo što treba učiniti ... razmislite kroz prozor kao da duboko razmišljate, a zatim se znatiželjnim pogledom osvrnite ili ogrebite bradu. Pričekajte da nastave s izjavom s više informacija.

... Gledaju.

8 Komentari

  1. 1

    LOL stvarno si zakucao Doug 🙂 Pokušavaš li nas izbaciti iz posla? Prokleto dobro znate da se oslanjamo na te pojmove koji se ne razumiju i zato se snalazimo s klijentima. Sad moramo smisliti način da ih miniramo Kombinirajući te modne riječi za stvaranje jedne divovske fraze koja bi mogla ići ovako:

    Pa znate da značajka koju pokušavaš ugraditi može se apstrahirati na više objekata koji obuhvaćaju funkcionalnost i komuniciraju putem uslužno orijentirane arhitekture.

  2. 5

    Budući da sam programer softvera, mogu cijeniti ovaj post. Ipak nismo toliko loši 😉 nikad ne bih razočarao ljude s takvim tehno blebetanjem 🙂

    Dopustite mi da vam smislim još nekoliko riječi ...

Što vi mislite?

Ova web stranica koristi Akismet za smanjenje neželjene pošte. Saznajte kako se podaci vašeg komentara obrađuju.