Pambuka kanggo anti-pola

Anti-pola minangka kebalikan saka pola. Elinga yen pola desain minangka conto praktik pemrograman sing apik, yaiku pola kanggo ngrampungake masalah tartamtu. Nanging anti-pola minangka ngelawan lengkap, yaiku pola kesalahan sing ditindakake nalika ngrampungake macem-macem masalah.

Bagéyan saka praktik pemrograman sing apik yaiku ngindhari pola anti. Aja mikir yen iki minangka sampah teori sing ora bisa dingerteni - iki minangka masalah khusus sing ditemoni meh saben pangembang. Sapa sing ngerti, dheweke bersenjata!

Ayo goleki sawetara pola anti-pola sing umum ing antarane pemula:

  • nomer Piandel lan strings
  • kelas dewa
  • Optimasi durung wayahe
  • panemune sepedha
  • Penemuan unicycle

nomer Piandel lan strings

Nomer sihir minangka konstanta sing digunakake ing kode kanggo sesuatu (paling asring identifikasi data), nomer kasebut ora ana gunane tanpa komentar sing cocog. Angka pancen ora ana semantik.

Nalika nomer wiwit katon ing kode saka project, kang tegese ora ketok, iki ala banget. Programmer sing dudu penulis kode kasebut bakal angel nerangake cara kerjane. Swara wektu, malah penulis kode karo nomer tenung ora bakal bisa kanggo nerangake.

Nomer nggawe kode angel dingerteni lan refactor. Alasan utama kanggo kesalahan iki yaiku cepet-cepet pangembangan lan kekurangan praktik pemrograman. Anti-pola iki kudu nipped ing Bud kanthi stipulating nggunakake konstanta numerik sadurunge miwiti pembangunan.

Kanggo ngatasi masalah iki, sampeyan kudu nggawe variabel sing jenenge nerangake tujuan konstanta numerik, lan nemtokake nilai sing dikarepake.

kelas dewa

Objek gaib minangka anti-pola sing cukup umum ing antarane pangembang OOP. Objek kasebut njupuk akeh banget fungsi lan / utawa nyimpen meh kabeh data. Akibaté, kita duwe kode non-portabel, sing uga angel dingerteni.

Kajaba iku, kode kuwi cukup angel kanggo njaga, amarga kabeh sistem gumantung meh istimewa ing. Alesan kanggo kesalahan iki: pangembang incompetence, siji pangembang njupuk bagean gedhe saka karya (utamané nalika jumlah karya ngluwihi sing tingkat pengalaman pangembang).

Sampeyan perlu kanggo ngatasi pendekatan iki kanthi ngilangi tugas dadi subtugas sing bisa ditindakake dening pangembang sing beda.

Optimasi durung wayahe

Optimasi prematur yaiku optimasi sing ditindakake sadurunge programmer duwe kabeh informasi sing dibutuhake kanggo nggawe keputusan sing tepat babagan ngendi lan carane nindakake.

Ing laku, iku angel kanggo prédhiksi ngendi bottleneck bakal kelakon. Upaya kanggo ngoptimalake sadurunge entuk asil empiris bakal nyebabake kerumitan kode lan katon kesalahan, nanging ora bakal nggawa keuntungan.

Carane supaya? Pisanan, tulis kode sing resik, bisa diwaca, lan digunakake kanthi nggunakake algoritma lan alat sing kondhang lan wis bukti. Yen perlu, gunakake alat profil kanggo nemokake bottlenecks. Ngandelake pangukuran, ora ngira lan asumsi.

Conto lan fitur

Caching sadurunge nggawe profil. Nggunakake heuristik sing rumit lan durung kabukten tinimbang algoritma sing bener kanthi matematis. Pilihan kerangka kerja anyar sing durung dites sing bisa tumindak salah nalika dimuat.

Apa kangelan

Ora gampang kanggo nemtokake nalika optimasi durung wayahe. Penting kanggo ninggalake kamar kanggo wutah ing advance. Sampeyan kudu milih solusi lan platform sing ngidini sampeyan ngoptimalake lan tuwuh kanthi gampang. Uga kadhangkala optimasi durung wayahe digunakake minangka alesan kanggo kode ala. Contone, padha njupuk algoritma O (n2) mung amarga algoritma bakal O (n) luwih angel.

panemune sepedha

Tegese anti-pola iki yaiku programmer ngembangake solusi dhewe kanggo masalah sing wis ana solusi, lan asring luwih sukses.

Pangembang nganggep awake dhewe luwih pinter, mula dheweke nyoba nggawe solusi dhewe kanggo saben tugas, sanajan pengalaman para leluhure. Paling asring, iki mung nyebabake mundhut wektu lan nyuda efisiensi programmer. Sawise kabeh, solusi kasebut bakal dadi suboptimal, yen ditemokake.

Mesthi, sampeyan ora bisa ngilangi kemungkinan solusi independen, amarga iki bakal nyebabake program copy-paste kanthi langsung. Pangembang kudu navigasi tugas sing bisa katon ing ngarepe supaya bisa ngrampungake kanthi cekap, nggunakake solusi sing wis siap utawa nggawe dhewe.

Asring banget, alesan kanggo pola anti iki yaiku kekurangan wektu. Lan wektu iku dhuwit.

Penemuan sepeda roda persegi

Anti-pola iki raket banget karo mung reinventing rodha - nggawe solusi ala dhewe nalika ana solusi sing luwih apik.

Anti-pola iki njupuk kaping pindho wektu: pisanan, wektu digunakake kanggo inventing lan ngleksanakake solusi dhewe, lan banjur refactoring utawa ngganti.

Programmer kudu ngerti anane macem-macem solusi kanggo sawetara tugas tartamtu, dipandu dening kaluwihan lan kekurangane.

Kabeh masalah sing bakal sampeyan adhepi minangka programer bisa dipérang dadi rong bagéan:

  • wong pinter ngatasi masalah iki 30 taun kepungkur
  • wong pinter ngatasi masalah iki 50 taun kepungkur

Umume masalah pemrograman wis kasil ditanggulangi sadurunge sampeyan lair . Ora perlu nyipta apa-apa - mung nyinaoni pengalamane wong liya (iki sing ditulis buku).

Ing 2022, kita bisa ngrayakake ulang tahun ing ngisor iki:

  • Basa pemrograman
    • Basa C dadi 50 (1972)
    • Basa Jawa ngancik 27 (1995)
    • Python dadi 31 (1991)
  • Sambungan
    • Internet dadi 39 (1983)
    • Telpon seluler dadi 49 (1973)
    • SMS pisanan dikirim 30 taun kepungkur (1992)
  • Pola
    • Pola MVC dadi 44 (1978)
    • SQL diciptakake 48 taun kepungkur (1974)
    • Kacang Jawa diciptakake 26 taun kepungkur (1996)
  • Pustaka
    • Hibernate diciptakake 21 taun kepungkur (2001)
    • Spring diciptakake 20 taun kepungkur (2002)
    • Tomcat dirilis 23 taun kepungkur (1999)
  • OS
    • Unix dirilis 51 taun kepungkur (1971)
    • Windows weruh padhang dina 37 taun kepungkur (1985)
    • Mac OS dirilis 21 taun kepungkur (2001)

Lan kabeh perkara kasebut ora mung diciptakake, nanging dikembangake minangka solusi kanggo masalah sing umum banget lan relevan ing wektu kasebut.