JavaRush /Blog Jawa /Random-JV /Ngopi #87. Napa tes unit penting kanggo pangembang? 5 Car...

Ngopi #87. Napa tes unit penting kanggo pangembang? 5 Cara Nyalin Array ing Jawa

Diterbitake ing grup

Napa tes unit penting kanggo pangembang?

Source: SearchSoftwareQuality Ayo ngrembug apa testing unit penting lan terkenal, lan carane nggawe debugging luwih gampang. Pengujian unit minangka alat sing kuat kanggo ningkatake kualitas piranti lunak. Tes unit nyedhiyakake verifikasi dhasar manawa aplikasi cocog karo spesifikasi piranti lunak lan tumindak kaya sing dikarepake. Ngopi #87.  Napa tes unit penting kanggo pangembang?  5 Cara Nyalin Array ing Jawa - 1Yen rampung kanthi becik, tes unit:
  • nyuda jumlah cacat lan ngenali ing tahap awal siklus urip pembangunan;
  • nambah maca kode;
  • ngidini nggunakake maneh kode;
  • nambah kacepetan panyebaran.
Ayo goleki kenapa tes unit penting, kepiye tes jinis iki asale, lan apa alangan kanggo implementasine.

Sajarah Unit Testing

Kesalahan sing dideteksi ing tahap awal ngirit wektu lan tenaga. Kanggo 50 taun pisanan sejarah komputer, tes unit lan debugging pancen padha. Nanging ing taun 1990-an, kode kasebut dadi rumit banget, mula asring ora bisa dipisahake sistem kasebut dadi bagean cilik supaya bisa diisolasi. Ing taun 1997, programmer jenenge Kent Beck nggawe JUnit, plugin lingkungan pangembangan kanggo nguji potongan kode cilik. Kode tes sing ngevaluasi kode sumber diarani tes unit. Pengujian unit jinis iki wis dadi pokok kanggo pirang-pirang taun. Sawise Beck nggawe JUnit, Martin Fowler nulis buku, Refactoring, ing ngendi dheweke ngusulake cara kanggo ngowahi kode supaya luwih terisolasi lan bisa diuji. Kombinasi kode refactoring lan unit testing wis mimpin kanggo test-driven pembangunan, ngendi nggawe tes unit penting kanggo proses program. Ing kono, kode kasebut kudu bisa diuji sanajan sadurunge digawe. Mangkono, proses pemrograman ora rampung nganti tes unit ditindakake. Proyek kasebut banjur bisa pindhah menyang tahap riset tingkat sistem utawa tingkat manungsa.

Tuladha Pengujian Unit

Conto iki nuduhake pentinge tes unit. Ing kene JUnit ngevaluasi fungsi prasaja sing ngowahi suhu saka Fahrenheit dadi Celsius. Rumus konversi: C = (F-32) * 5/9. Mung sawetara baris, kalebu teken fungsi lan kurung kriting, bisa dipun ginakaken ing kode minangka fungsi perpustakaan. Nanging, ora jelas saka fungsi kasebut minangka kritéria. Opsi iki bisa uga kalebu bunder munggah utawa mudhun, nomer nyata, utawa wates ndhuwur lan ngisor. Ayo nggawe conto tes unit kanggo fungsi konversi suhu iki ing Perl nggunakake Test :: modul More. Baris pisanan minangka komentar sing ngandhani programer apa sing bakal dikarepake saka kode sing isih ana.
# is (input, expected result, comment)
is( FtoC(32),0,'Freezing point is F32, C 0');
is( FtoC(212),100,'Boiling point is F212, C 100');
is( FtoC(59038),32767, 'Upper limit of C is 32767');
is( FtoC(59039),undefined, 'One past upper limit is error');
Kerangka JUnit gumantung ing sistem berorientasi obyek lan obyek tes, nanging konsep kasebut padha.

Tes unit terisolasi

Salah sawijining keuntungan saka tes unit yaiku ngisolasi fungsi, kelas, utawa metode lan mung nguji kode kasebut. Komponen individu sing luwih apik nyedhiyakake ketahanan sistem sakabèhé. Kanthi cara iki sampeyan entuk kode sing dipercaya. Tes unit uga ngganti sifat proses debugging. Kanggo nyoba ndandani bug, programer mung nulis tes sing gagal banjur mbaleni supaya bisa lolos tanpa nglanggar pangarepan sadurunge. Proses iki ngilangi siklus manual debugging tradisional liwat persiyapan, nggawe maneh, ngaso, lan nyoba. Kanggo ngganti kode supaya cocog kanggo testing unit, programer kudu ngganti cara kerjane. Sembarang potongan kode sing ditulis tanpa tes unit bakal dianggep durung diuji, paling ora minangka modul individu.

Adapting Unit Tests

Piranti lunak warisan yaiku piranti lunak sing wis suwe digunakake lan kemungkinan besar ditulis tanpa tes unit. Kode warisan nduweni nilai kanggo perusahaan. Kerjane kanthi stabil nganti pirang-pirang taun. Sawetara program sing dibangun tanpa tes unit ngolah transaksi jutaan dolar saben dina. Nanging kode sing ora duwe tes unit dadi bal gedhe saka rereget liwat wektu amarga wis kena dening akeh programer pangopènan kode liwat taun. Refactoring ngidini programer nggawe owah-owahan kanthi bertahap menyang sistem supaya bisa diuji. Nanging, owah-owahan kasebut butuh wektu. Sawetara taun kepungkur, aku ngrembug karo kancaku Bob Reselman babagan masalah nggunakake tes unit kanggo aplikasi warisan. Reselman ujar manawa ngleksanakake tes unit ing aplikasi sing dibangun tanpa larang banget lan malah bodho. Nanging, dheweke menehi saran supaya organisasi kasebut miwiti pangembangan anyar kanthi tes unit lan ninggalake aplikasi warisan. Iki bisa uga bener kanggo COBOL, generator laporan, lan aplikasi liyane, nanging aku bakal mbantah manawa ing aplikasi sing ditulis ing basa modern - C ++, C #, Java, lan Ruby - cukup gampang kanggo nambah tes unit kanthi retroaktif. Tinimbang nulis kanggo kabeh aplikasi, mung nambah tes unit kanggo owah-owahan saiki lan refactor nalika sampeyan lunga.

Tambah kacepetan, kualitas lan testability

Manajer proyek ujar manawa perencanaan kalebu pertukaran antarane kualitas, jumlah karya rampung, sumber daya lan wektu. Kanggo nambah soko menyang siji wilayah, sampeyan kudu njupuk soko adoh saka liyane. Tes unit sing efektif nglanggar aturan iki. Pramila tes unit penting lan penting kanggo organisasi. Tes unit sing apik ngasilake kode sing bisa diuji sing nambah kualitas. Kode iki bakal kurang cacat, tegese luwih sithik koreksi bug kanggo ngrampungake proyek kanthi luwih cepet. Nalika piranti lunak nemoni bug, tes unit nyepetake debugging, ndandani, lan nulis kode. Lan iki kedadeyan kanthi cara sing kamungkinan saka cacat reoccurring Ngartekno suda nalika bebarengan nambah kualitas lan kacepetan kode. Nalika ora ana peluru ajaib ing pangembangan piranti lunak, tes unit sing efektif bisa nyepetake pangembangan, tes, lan uga sawetara teknik syarat fungsional.

5 Cara Nyalin Array ing Jawa

Source: Dev.to Dadi sampeyan duwe loro array A lan B lan sampeyan kudu nyalin unsur saka A kanggo B. Inggih, ana macem-macem cara kanggo nindakake iki ing Jawa lan aku bakal nuduhake sampeyan saiki.

Cara siji: ForLoop

Iki ngendi gelung lawas sing apik kanggo mbantu kita :
int[] A = {1,2,4,4};
int[] B = new int[];

 for (int i = 0; i < A.length; i++){
      B[i] = A[i];
}

Cara loro: .clone()

Cara kloning array uga bisa mbantu entuk asil sing dikarepake:
int[] A = {1,2,4,4};
int[] B = A.clone();//the clone method copies the content of A into B;

Cara telu: System.arraycopy()

Cara sabanjure yaiku nggunakake metode System.arraycopy () , sing ana ing paket java.lang . Sadurunge nerusake kanggo nggunakake, ayo ngrembug teken:
public static void arraycopy(
    Object src, //:source array, in this case A
    int srcPos, //:the start index for copy, typically 0
    Object dest, //:destination object in this case B.
    int destPos, //:the index to place the copied elements
    int length //:the length of the contents to be copied
);
Aplikasi:
int[] A = {1,2,4,4};
int[] B = new int[];

System.arraycopy(A, 0, B, 0, A.length);

Cara Papat: Arrays.copyOf()

Opsi salinan sabanjure sing bakal kita bahas yaiku kelas Arrays saka paket java.utils . Priksa tandha tangane:
public static int[] copyOf(
    int[] original, // :source array in this case A
    int newLength // :the length of the contents to be copied
);
Aplikasi:
int[] A = {1,2,4,4};
int[] B = Arrays.copyOf(A, 3);

Cara kaping lima: Arrays.copyOfRange()

Dadi, iki bakal dadi pilihan pungkasan sing bakal kita deleng ing kirim iki. Iki uga saka kelas Array sing ana ing paket java.utils . Ayo ndeleng maneh tandha tangane:
public static int[] copyOfRange​(
    int[] original, // :source array in this case A
    int from,  //:the start index for copy, typically 0
    int to // the end index exclusive
);
Aplikasi:
int[] A = {1,2,3,4,5,6,7};
int[] B = Arrays.copyOfRange(A, 0, A.length);
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION