Големи програмиращи думи или фрази

Джобен протекторРаботейки с някои изключителни програмисти, често се озовавам на срещи с архитекти, потенциални клиенти и разработчици, които (мисля) обичат да изхвърлят някои големи думи или фрази, за да се опитат да изплашат дяволите от продуктовите мениджъри или техните клиенти.

Това е едно от нещата, които програмистите обичат да правят. Ето десет от тях с много просто описание (което несъмнено ще предизвика гнева на разработчиците навсякъде, докато разбивам тяхната терминология до смърт с моите прости метафори за автомобили):

  1. абстракция - това отнема труден процес или функция и по същество ги разбива логически ... или по йерархия (A принадлежи на B, B принадлежи на C и т.н.) или по характеристика или функция (цвят, размер, тегло и т.н.). Абстракцията улеснява обектно-ориентираното програмиране, като организира функционалността логично. За да изградя колата си, изграждам отделно рама, двигател и каросерия.
  2. неодобрение - това означава, че в системата има някакъв стар код, който може да остане, но трябва постепенно да се прекрати. Когато кодът е остарял, програмистите не се позовават на кода или не използват по-нов код, докато всички препратки не отидат към стария, като по това време той трябва да бъде премахнат. Понякога, ако това е функция, която изчезва, можете да я задържите известно време с предупреждение към потребителите си, че тя изчезва. Получавам нова стерео система с ново окабеляване, но оставям старото окабеляване и не го използвам.
  3. Капсулирането - това е процесът на организиране на функциите ви за програмиране в родител, когато функцията не достига до други части на системата. Ако имате милиони функции, искате да ги организирате ефективно и да функционират в областите, в които те работят, вместо да ги предлагате глобално. Поставям поддържащата механика на двигателя в отделението на двигателя ... Не слагам масления филтър на задната седалка.
  4. наследяване - това е способността да се възприемат свойствата на друга част от общ код (клас), за да се използва повторно за нова функционалност, без да се налага да се пренаписва. Наследяването е друга добра обектно ориентирана практика за развитие. Моята столче за кола може да се използва за носене на дете или възрастен - който и да седне в нея.
  5. нормализиране - това е методът за организиране на данните с по-голяма ефективност в база данни чрез изграждане на референции. Пример би бил, ако трябваше да записвам светофари през целия ден ... червено, жълто и зелено. Вместо да пиша всеки запис с червено, жълто и зелено - аз пиша 1, 2 и 3 и след това правя друга таблица, където 1 = червено, 2 = жълто и 3 = зелено. По този начин записвам само веднъж червено, жълто и зелено. Всяка от вратите на моята кола има една и съща дръжка на вратата. Една дръжка, използвана на 4 различни места, вместо на 4 различни дръжки.
  6. Обектно ориентиран - в съвременните езици за програмиране това е метод за проектиране, който ви позволява да пишете конкретен код на парчета, по функционалност и след това да ги използвате повторно. Пример би бил, ако исках да проверя за валидно изграден имейл адрес. Бих могъл да изградя функцията веднъж и след това да я използвам където и да е необходимо в моето приложение. Моята кола има 18 джанти, които могат да се използват на други автомобили от същия или други производители.
  7. полиморфизъм - Това е трудно да се обясни, но основно това е способността да се разработва код, който може да се използва динамично за други ситуации. С други думи, той може да наследи уникална и динамична функционалност просто по начина, по който е посочен. Това е много ефективно средство за развитие. Мога да използвам електрическия контакт на автомобила си, за да зареждам телефона си или да подавам сок към помпата си за гуми.
  8. Рекурсия - това е метод, при който кодът се позовава на себе си. Понякога това е ефективно и умишлено, но друг път може да доведе до излизане на вашите приложения извън контрол. Щраквам да търся на стереото на колата си и той се лута през радиостанциите. Той никога не завършва, а просто продължава.
  9. рефакториране - това е процесът на пренаписване на код, за да се улесни проследяването или да се организира по-добре, но не е задължително да се добави допълнителна функционалност. Възстановявам двигателя си.
  10. Сървърно ориентирана архитектура (SOA) - вземете обектно ориентирано програмиране и го приложете към големи системи, където можете да имате цели системи, които изпълняват определени функции. Може да имате система за управление на връзките с клиенти, която говори със система за електронна търговия, която говори със система за доставка и т.н. Издърпвам ремарке с колата си, за да изпращам предмети от едно място на друго. Използвам прикачен механизъм (XML), за да ги свържа.

Осъзнавам, че метафорите ми не винаги са били перфектно насочени. Надявам се обаче да са помогнали малко!

Няколко съвета, когато чуете тези думи при следващата си среща с разработчик ... не бягайте обратно на мястото си и ги търсете Уикипедия, те ще гледат. Не трепвайте, те ще атакуват. Ето какво да направите ... размишлявайте през прозореца, сякаш сте задълбочени и след това погледнете назад с любознателен поглед или си почешете брадичката. Изчакайте да последват декларацията си с повече информация.

... Те гледат.

8 Коментари

  1. 1

    LOL наистина го закова Дъг 🙂 Опитваш ли се да ни спреш от бизнеса? Знаете дяволски добре, че разчитаме на тези понятия да не се разбират и следователно да се справим с клиентите. Сега трябва да измислим начин да ги взривим комбиниране тези модни думи, за да създадете една гигантска фраза, която може да върви по следния начин:

    Е, знаете, че функцията, която се опитвате да въведете, може да бъде абстрахирана до множество обекти, които капсулират функционалността и комуникират чрез ориентирана към услуга архитект.

  2. 5

    Като разработчик на софтуер мога да оценя тази публикация. Все пак не сме чак толкова лоши 😉 Никога не бих бамбуковал хора с такова техно дрънкане 🙂

    Позволете ми да измисля още няколко думи за вас ...

Какво мислите?

Този сайт използва Akismet за намаляване на спама. Научете как се обработват данните за коментарите ви.