Perkataan atau Frasa Pengaturcaraan Besar

Pelindung PoketBekerja dengan beberapa pengaturcara yang luar biasa, saya sering bertemu dengan arkitek, ketua dan pemaju yang (saya rasa) suka melemparkan beberapa kata atau frasa besar di luar sana untuk mencuba dan menakutkan Pengurus Produk atau pelanggan mereka.

Ini adalah salah satu perkara yang suka dilakukan oleh pengaturcara. Berikut adalah sepuluh daripadanya dengan keterangan yang sangat mudah (yang pasti akan menimbulkan kemarahan pemaju di mana sahaja semasa saya menggodam terminologi mereka hingga mati dengan kiasan kereta sederhana saya):

  1. Abstraksi - ini mengambil proses atau fungsi yang sukar dan pada dasarnya memecahnya secara logik ... sama ada berdasarkan hierarki (A milik B, B milik C, dll.) Atau mengikut ciri atau fungsi (warna, ukuran, berat, dll.). Abstraksi menjadikan pengaturcaraan berorientasikan objek lebih mudah dengan mengatur fungsi secara logik. Untuk membina kereta saya, saya membina kerangka, enjin, dan badan secara berasingan.
  2. Penolakan - ini bermaksud bahawa ada beberapa kod lama dalam sistem yang mungkin tetap ada tetapi perlu dihentikan. Apabila kod tidak digunakan lagi, pengaturcara tidak merujuk kod tersebut atau menggunakan kod yang lebih baru sehingga semua rujukan diturunkan ke yang lama, dan pada masa itu kode tersebut harus dihapus. Kadang kala, jika ciri itu hilang, anda boleh menyimpannya sebentar dengan peringatan kepada pengguna bahawa ia akan hilang. Saya mendapat sistem stereo baru dengan pendawaian baru tetapi saya meninggalkan pendawaian lama dan tidak menggunakannya.
  3. Encapsulation - ini adalah proses mengatur fungsi pengaturcaraan anda dalam ibu bapa apabila fungsi tersebut tidak sampai ke bahagian lain dari sistem. Sekiranya anda mempunyai berjuta-juta fungsi, anda ingin menjadikannya teratur dan berfungsi dengan cekap di kawasan yang mereka jalankan daripada menyediakannya secara global. Saya meletakkan mekanik pendukung mesin di ruang enjin… Saya tidak meletakkan penapis minyak di tempat duduk belakang.
  4. Pusaka - ini adalah kemampuan untuk menggunakan sifat-sifat sepotong kod biasa (kelas) untuk menggunakannya semula untuk fungsi baru tanpa perlu menulis semula. Warisan adalah satu lagi amalan pembangunan berorientasikan objek yang baik. Tempat duduk kereta saya boleh digunakan untuk membawa anak atau orang dewasa - sesiapa sahaja yang duduk di dalamnya.
  5. Normalisasi - ini adalah kaedah mengatur data dengan lebih cekap dalam pangkalan data dengan membina rujukan. Contohnya ialah jika saya perlu merakam lampu isyarat sepanjang hari ... merah, kuning dan hijau. Daripada menulis setiap rekod dengan merah, kuning, dan hijau - saya menulis 1, 2, dan 3 dan kemudian membuat jadual lain di mana 1 = merah, 2 = kuning dan 3 = hijau. Dengan cara ini saya hanya merakam merah, kuning dan hijau sekali. Setiap pintu kereta saya mempunyai pemegang pintu yang sama. Satu pemegang, digunakan di 4 lokasi berbeza dan bukannya 4 pemegang yang berbeza.
  6. Berorientasikan Objek - dalam bahasa pengaturcaraan moden, ini adalah kaedah reka bentuk yang membolehkan anda menulis kod tertentu secara berasingan, mengikut fungsi, dan kemudian menggunakannya semula. Contohnya ialah jika saya ingin memeriksa alamat e-mel yang dibina dengan betul. Saya dapat membina fungsinya sekali, dan kemudian menggunakannya di mana sahaja saya perlu dalam aplikasi saya. Kereta saya mempunyai rim 18 that yang boleh digunakan pada kereta lain oleh pengeluar yang sama atau yang lain.
  7. Polimorfisme - Yang ini sukar dijelaskan, tetapi pada asasnya kemampuan untuk mengembangkan kod yang dapat digunakan secara dinamis untuk situasi lain. Dengan kata lain, ia dapat mewarisi fungsi unik dan dinamik hanya dengan cara ia dirujuk. Ini adalah kaedah pembangunan yang sangat cekap. Saya boleh menggunakan soket elektrik kenderaan saya untuk mengecas telefon atau membekalkan jus ke pam tayar saya.
  8. Rekursi - ini adalah kaedah di mana kod merujuknya sendiri. Kadang-kadang, ia cekap dan disengajakan, tetapi di lain masa ia dapat menjadikan aplikasi anda tidak terkawal. Saya klik mencari di stereo kereta saya dan ia bergerak melalui stesen radio. Ia tidak pernah selesai, terus berjalan.
  9. Pemfaktoran semula - ini adalah proses menulis semula kod untuk memudahkan diikuti atau menyusunnya dengan lebih baik tetapi tidak semestinya menambah fungsi tambahan. Saya membina semula enjin saya.
  10. Senibina Berorientasikan Pelayan (SOA) - mengambil pengaturcaraan berorientasikan objek dan menerapkannya ke sistem besar di mana anda dapat memiliki keseluruhan sistem yang melakukan fungsi tertentu. Anda mungkin mempunyai sistem pengurusan hubungan pelanggan yang berbicara dengan sistem e-dagang yang bercakap dengan sistem penghantaran, dll. Saya menarik treler dengan kereta saya untuk menghantar barang dari satu tempat ke tempat lain. Saya menggunakan trailor hitch (XML) untuk menghubungkannya.

Saya sedar bahawa metafora saya tidak selalu tepat sasaran. Saya harap mereka sedikit sebanyak membantu!

Sebilangan nasihat apabila anda mendengar kata-kata ini dalam pertemuan anda yang seterusnya dengan pembangun… jangan berlari ke tempat duduk anda dan melihatnya Wikipedia, mereka akan menonton. Jangan tersentak, mereka akan menyerang. Inilah yang harus dilakukan ... renungkan ke luar tingkap seolah-olah anda sedang berfikir dalam-dalam dan kemudian menoleh ke belakang dengan pandangan ingin tahu atau menggaru dagu. Tunggu sehingga mereka mengikuti pengisytiharan mereka dengan lebih banyak maklumat.

... Mereka menonton.

8 Komen

  1. 1

    LOL anda betul-betul memikatnya Doug 🙂 Adakah anda cuba membuat kami tidak berniaga? Anda tahu betul kita menggunakan konsep yang tidak difahami dan oleh itu mempunyai cara dengan pelanggan. Sekarang kita mesti mencari cara untuk meletupkan mereka menggabungkan kata kunci tersebut untuk membuat satu frasa raksasa yang mungkin seperti ini:

    Anda tahu bahawa ciri yang anda cuba masukkan boleh diabstrak ke beberapa objek yang merangkumi fungsi dan berkomunikasi melalui arkitek berorientasikan perkhidmatan.

  2. 5

    Sebagai pembangun perisian saya dapat menghargai siaran ini. Kami tidak begitu buruk walaupun 😉 Saya tidak akan pernah membuat orang yang bengang dengan teka-teki tekno seperti itu 🙂

    Izinkan saya mencuba dan memikirkan beberapa perkataan lagi untuk anda….

Apa yang anda fikir?

Laman web ini menggunakan Akismet untuk mengurangkan spam. Ketahui bagaimana data komen anda diproses.