Böyük Proqramlaşdırma Sözləri və ya Sözləri

Cib QoruyucuBəzi müstəsna proqramçılar ilə işləyərkən tez-tez məhsul menecerləri və ya müştərilərini qorxutmaq üçün bəzi böyük sözləri və ya ifadələri atmağı sevən memarlar, rəhbərlər və inkişaf etdiricilərlə görüşlərdə özümü tapıram.

Proqramçıların etmək istədiyi şeylərdən biridir. Budur on birisi çox sadə bir təsvirlə (şübhəsiz ki, hər yerdə inkişaf etdiricilərin qəzəbini mən onların terminologiyasını öldürdüyüm kimi çəkəcəyəm) mənim sadə avtomobil məcazlarım):

  1. Abstraksiya - bu çətin bir prosesi və ya funksiyanı alır və əsasən məntiqi olaraq parçalayır ... ya iyerarxiya ilə (A B-yə, B C-yə aiddir) və ya xüsusiyyət və ya funksiyaya görə (rəng, ölçü, çəki və s.). Abstraksiya funksionallığı məntiqi şəkildə təşkil edərək obyekt yönümlü proqramlaşdırmanı asanlaşdırır. Maşınımı düzəltmək üçün ayrıca bir karkas, mühərrik və gövdə düzəldirəm.
  2. Depressiya - bu, sistemdə qala biləcək, lakin mərhələdən kənarlaşdırılması lazım olan bəzi köhnə kodların olduğu deməkdir. Kod köhnəldikdə, bütün istinadlar köhnəyə getməyincə, proqramçılar kodu istinad etmir və ya daha yeni bir koddan istifadə etmir, bu zaman silinməlidir. Bəzən, gedən bir xüsusiyyətdirsə, istifadəçilərinizə bunun getdiyini xəbərdar etməklə bir müddət saxlaya bilərsiniz. Yeni kabellərlə yeni bir stereo sistem alıram, amma köhnə naqilləri tərk edirəm və istifadə etmirəm.
  3. Kapsülləşdirmə - bu funksiya sistemin digər hissələrinə çatmadığı zaman proqramlaşdırma funksiyalarınızı bir valideyn daxilində təşkil etmə prosesidir. Milyonlarla funksiyanız varsa, bunları qlobal səviyyədə mövcud olmaqdansa, fəaliyyət göstərdikləri ərazilərdə səmərəli şəkildə təşkil etmək və fəaliyyət göstərmək istəyirsiniz. Mühərrikin dəstəkləyici mexanikasını mühərrik bölməsinə qoydum ... Yağ filtrini arxa oturacağa qoymuram.
  4. Miras - bu, başqa bir ümumi kodun (bir sinifin) xüsusiyyətlərini yenidən yazmaq məcburiyyətində qalmadan yeni funksionallıq üçün yenidən istifadə etmək üçün qəbul etmək qabiliyyətidir. Miras digər yaxşı bir obyekt yönümlü inkişaf təcrübəsidir. Mənim avtomobil oturacağım bir uşağı və ya bir yetkini daşımaq üçün istifadə edilə bilər - kim oturursa.
  5. Normalizasiya - istinadlar quraraq məlumat bazasında məlumatları daha səmərəli təşkil etmək metodudur. Bütün gün işıqforları qeyd etməli olsam bir nümunə ola bilər ... qırmızı, sarı və yaşıl. Hər bir qeydi qırmızı, sarı və yaşıl rənglərlə yazmaqdansa - 1, 2 və 3 yazıram, sonra 1 = qırmızı, 2 = sarı və 3 = yaşıl olduğu başqa bir cədvəl düzəldirəm. Bu şəkildə yalnız bir dəfə qırmızı, sarı və yaşıl qeyd edirəm. Maşın qapılarımın hər biri eyni qapı qoluna malikdir. 4 fərqli tutacaq əvəzinə 4 fərqli yerdə istifadə edilən bir qol.
  6. Obyekt yönümlüdür - müasir proqramlaşdırma dillərində, bu, müəyyən bir kodu funksionallığa görə parçalara yazmağa və sonra yenidən istifadə etməyə imkan verən bir dizayn metodudur. Düzgün qurulmuş bir e-poçt adresini yoxlamaq istəsəm bir nümunə ola bilər. Funksiyanı bir dəfə düzəldə bilərdim, sonra tətbiqetməmdə lazım olduğu yerdə istifadə edə bilərdim. Mənim avtomobilimdə eyni və ya digər istehsalçıların digər avtomobillərində istifadə edilə bilən 18 ″ jantlar var.
  7. Polimorfizm - Bunu izah etmək çətindir, lakin əsasən digər hallar üçün dinamik şəkildə istifadə edilə bilən kod hazırlamaq bacarığıdır. Başqa sözlə, sadəcə istinad yolu ilə misilsiz və dinamik funksionallığı ala bilər. Bu, çox səmərəli inkişaf vasitəsidir. Telefonumu şarj etmək və ya təkər nasosuma su vermək üçün avtomobilimin elektrik şəbəkəsindən istifadə edə bilərəm.
  8. Recursion - bu kodun özünə istinad etdiyi bir üsuldur. Bəzən səmərəli və qəsdən olur, amma digər hallarda tətbiqlərinizi nəzarətdən kənarlaşdırmağa səbəb ola bilər. Avtomobilimin stereo kanalını axtarın və radio stansiyalarından keçin. Heç vaxt bitmir, sadəcə davam edir.
  9. Refaktorinq - təqib etməyi asanlaşdırmaq və ya daha yaxşı təşkil etmək üçün kodun yenidən yazılması prosesi, lakin əlavə funksionallıq əlavə edilməməlidir. Mühərrikimi yenidən qururam.
  10. Server Odaklı Memarlıq (SOA) - obyekt yönümlü proqramlaşdırma götürün və müəyyən funksiyaları yerinə yetirən bütün sistemlərə sahib ola biləcəyiniz böyük sistemlərə tətbiq edin. Bir göndərmə sistemindən danışan bir elektron ticarət sistemindən danışan bir müştəri əlaqəsi idarəetmə sisteminiz ola bilər. Bir yerdən başqa yerə əşyalar göndərmək üçün maşınımla qoşqu çəkirəm. Onları birləşdirmək üçün qoşqu qarmaqarışığından (XML) istifadə edirəm.

Bənzətmələrimin hər zaman hədəfə mükəmməl uyğun gəlmədiyini başa düşürəm. Ümid edirəm bir az kömək etdilər!

Bir geliştirici ilə növbəti görüşünüzdə bu sözləri eşidəndə bəzi tövsiyələr ... oturacağınız yerə qayıtmayın və onlara baxın Vikipediya, izləyəcəklər. Qırpma, hücum edəcəklər. Budur nə edim ... dərin bir düşüncəyə girmiş kimi pəncərədən çölə bax və sonra maraqla baxaraq geriyə bax və ya çənəni qaşımaq. Daha çox məlumatla bəyannamələrini izləmələrini gözləyin.

... İzləyirlər.

8 Şərhlər

  1. 1

    LOL, həqiqətən Doug-u mıxlamısan? 🙂 Bizi işdən çıxartmağa çalışırsan? Lənətə gəldiyinizi yaxşı bilirsiniz ki, bu konsepsiyaların başa düşülməməsi və bu səbəbdən müştərilərlə münasibətimiz var. İndi onları bir yolla uçurmaq üçün bir yol tapmalıyıq birləşdirmə bu cür gedə bilən nəhəng bir cümlə yaratmaq üçün bu sözcüklər:

    Yerinə qoymağa çalışdığınız xüsusiyyəti, funksionallığı əhatə edən və xidmət yönümlü bir arxitekreter vasitəsi ilə əlaqə quran çoxsaylı obyektlərə aid edilə biləcəyini yaxşı bilirsiniz.

  2. 5

    Bir proqram geliştiricisi olduğum üçün bu yazını qiymətləndirə bilərəm. Hərçənd o qədər də pis deyilik 😉 Heç vaxt insanları bu cür texnoloqla bambuk etməzdim 🙂

    İcazə verin sizin üçün bir neçə söz daha düşünək ...

Siz nə düşünürsünüz?

Bu sayt spam azaldılması üçün Akismet istifadə edir. Yorumunuzun necə işləndiyini öyrənin.