1. Tugas programmer

Kerep banget programer pemula mikirake karya programer kanthi beda karo cara mikir programer sing berpengalaman .

Pemula asring ngomong kaya "Program kasebut bisa digunakake, apa maneh sing sampeyan butuhake?" Programmer sing berpengalaman ngerti yen "kerja kanthi bener" mung minangka salah sawijining syarat kanggo program , lan dudu sing paling penting !

Wacan kode

Sing paling penting yaiku kode program bisa dingerteni dening programer liyane . Iki luwih penting tinimbang program sing bisa digunakake kanthi bener. Luwih.

Yen sampeyan duwe program sing ora bisa digunakake kanthi bener, sampeyan bisa ndandani. Nanging yen sampeyan duwe program sing kode ora bisa dingerteni, sampeyan ora bisa nindakake apa-apa.

Cukup njupuk program sing dikompilasi, kayata notepad, lan ganti warna latar mburi dadi abang. Sampeyan duwe program sing bisa digunakake, nanging sampeyan ora duwe kode sumber sing bisa dingerteni: sampeyan ora bisa ngowahi program kaya ngono.

Conto buku teks yaiku nalika pangembang Microsoft mbusak game Pinball saka Windows amarga ora bisa port menyang arsitektur 64-bit. Lan malah padha duwe kode sumber. Dheweke mung ora ngerti cara kerjane kode kasebut .

Akuntansi kanggo saben kasus panggunaan

Syarat paling penting nomer loro kanggo program yaiku kanggo akun saben skenario. Asring kaping, iku sethitik luwih rumit tinimbang katon.

Kepiye programer pemula ndeleng ngirim pesen SMS:

Program kerja sing bener

Kepiye programer profesional ndeleng:

Program kerja sing bener

Skenario "kanggo kanthi bener" biasane mung siji sing bisa ditindakake. Lan mulane akeh wong anyar sing ngeluh babagan validator tugas CodeGym: mung siji skenario saka 10 karya, lan programer newbie mikir sing cukup.


2. Kahanan sing ora normal

Kahanan sing ora normal

Kahanan sing ora normal bisa uga kedadeyan sajrone eksekusi program apa wae.

Contone, sampeyan mutusake kanggo nyimpen file nanging ora ana ruang disk. Utawa program nyoba kanggo nulis data menyang memori, nanging kasedhiya memori kurang. Utawa sampeyan ndownload gambar saka Internet, nanging sambungan kasebut ilang nalika proses download.

Kanggo saben kahanan sing ora normal, programmer (penulis program) kudu a) ngantisipasi , b) mutusake kepiye program kudu ditangani , lan c) nulis solusi sing paling cedhak karo sing dikarepake.

Pramila program duwe prilaku sing gampang banget kanggo wektu sing cukup suwe: yen ana kesalahan ing program kasebut, program kasebut mandheg. Lan iku pendekatan sing cukup apik.

Contone, sampeyan pengin nyimpen dokumen menyang disk, sajrone proses nyimpen, sampeyan nemokake manawa papan disk ora cukup. Kelakuan apa sing paling sampeyan senengi:

  • Program mungkasi
  • Program terus mlaku, nanging ora nyimpen file kasebut.

Programmer anyar bisa uga mikir yen pilihan kapindho luwih apik, amarga program isih mlaku. Nanging nyatane ora kaya ngono.

Bayangake yen sampeyan ngetik dokumen ing Word sajrone 3 jam, nanging rong menit ing proses nulis sampeyan dadi jelas yen program kasebut ora bakal bisa nyimpen dokumen kasebut menyang disk. Apa luwih becik kelangan rong menit kerja utawa telung jam?

Yen program ora bisa nindakake apa sing dibutuhake, luwih becik ditutup tinimbang terus pura-pura yen kabeh ora apa-apa. Babagan sing paling apik sing bisa ditindakake dening program nalika nemoni kegagalan sing ora bisa didandani dhewe yaiku langsung nglaporake masalah kasebut menyang pangguna.


3. Latar babagan pangecualian

Program ora mung siji-sijine sing ngadhepi kahanan sing ora normal. Padha uga dumadi ing program - ing cara. Tuladhane:

  • A cara pengin nulis file menyang disk, nanging ora ana spasi.
  • Sawijining metode pengin nelpon fungsi ing variabel, nanging variabel kasebut padha karo null.
  • Divisi kanthi 0 kedadeyan ing metode.

Ing kasus iki, cara nelpon bisa mbenerake kahanan (nglakokake skenario alternatif) yen ngerti apa jenis masalah dumadi ing cara disebut.

Yen kita nyoba nyimpen file menyang disk lan file kasebut wis ana, kita mung bisa njaluk pangguna supaya konfirmasi manawa kita kudu nimpa file kasebut. Yen ora ana ruang disk sing kasedhiya, kita bisa nampilake pesen menyang pangguna lan njaluk pangguna milih disk sing beda. Nanging yen program kehabisan memori, bakal nabrak.

Biyen, programer mikirake pitakonan iki lan teka karo solusi ing ngisor iki: kabeh cara / fungsi kudu ngasilake kode kesalahan sing nuduhake asil eksekusi. Yen fungsi makarya sampurna, bali 0 . Yen ora, bali kode kesalahan (ora nul).

Kanthi pendekatan iki kanggo kasalahan, sawise meh saben fungsi telpon, programer kudu nambah mriksa kanggo ndeleng yen fungsi rampung karo kesalahan. Kode balon ukurane lan katon kaya iki:

Kode tanpa penanganan kesalahan Kode karo penanganan kesalahan
File file = new File("ca:\\note.txt");
file.writeLine("Text");
file.close();
File file = new File("ca:\\note.txt");
int status = file.writeLine("Text");
if (status == 1)
{
   ...
}
else if (status == 2)
{
   ...
}
status = file.close();
if (status == 3)
{
   ...
}

Apa maneh, cukup asring fungsi sing nemokake yen ana kesalahan ora ngerti apa sing kudu ditindakake: panelpon kudu mbalekake kesalahan, lan panelpon bali menyang panelpon, lan liya-liyane.

Ing program gedhe, rantai puluhan panggilan fungsi minangka norma: kadhangkala sampeyan bisa nemokake ambane telpon kanthi atusan fungsi. Lan saiki sampeyan kudu ngliwati kode kesalahan saka paling ngisor menyang ndhuwur. Lan yen ing endi wae sawetara fungsi ora nangani kode metu, kesalahan bakal ilang.

Kerugian liyane saka pendekatan iki yaiku yen fungsi ngasilake kode kesalahan, dheweke ora bisa ngasilake asil karyane dhewe. Asil petungan kudu dilewati liwat parameter referensi. Iki nggawe kode luwih rumit lan nambah jumlah kesalahan.