"Hai, Amigo! Dina iki aku arep ngomong babagan gaya kode lan pentinge gaya kode."

"Aku bakal miwiti karo sing paling penting.  Kode Jawa kudu gampang diwaca.  Pendekatan umum kanggo kode iki: kode ditulis sapisan nanging diwaca kaping satus."

"Upami sampeyan lan 10 programer liyane nulis aplikasi. Sampeyan nggarap aplikasi kasebut sajrone telung taun, kanthi rilis penengah saben telung sasi."

"Lawa iku?"

"Iki Jawa, walang enomku! "Piye yen sistem perusahaan sing mlaku ing belasan server lan ditulis dening 100 wong luwih saka 6 taun? Kadhangkala uga kedadeyan kasebut."

"Wah."

"Oalah, aturan utama, syarat utama kanggo kode iku kudu gampang kanggo pangembang liyane kanggo maca."

"Ing basa pamrograman liyane, wong asring kerja minangka tim cilik ing tugas-tugas cilik, saengga bisa uga duwe aturan utama liyane, kayata 'Iku kerjane? Banget'."

"Sajrone sawetara taun, kabeh anggota tim sampeyan bakal nggawe sawetara owah-owahan ing kode sing wis ditulis. Lan saben-saben dheweke kudu ngerti cara kerjane kode kasebut."

"Lan kode sing ora bisa dingerteni sing bisa digunakake kanthi sampurna angel diganti.  Bakal dibuwang lan ditulis maneh kanthi cara dhewe.  Dadi, tulis kode sing bisa dingerteni wong liya.  Yen sampeyan bisa nambah kode, banjur nambah. Yen bisa ditambah, banjur kudu didandani! "

"Yen sampeyan nulis kode sajrone 15 menit lan banjur nglampahi rong jam kanggo nambah, sampeyan nindakake kanthi bener. Pira wektu sampeyan nyimpen tim?"

"'2 jam kanggo mangerteni kode sampeyan' x '100 kaping nalika wong kudu ngerti' = 200 jam."

"Aku ditarik tokoh iki metu saka udhara lancip, nanging aku pengin sampeyan ngerti masalah lan orane katrangan.  Kode sampeyan digawe kanggo diwaca dening programer liyane  .

"Apa kode ora bisa digunakake kanthi bener? Kita bakal ndandani. Ora dioptimalake? Kita bakal ngoptimalake. Ora didokumentasikake? Kita bakal nambah komentar."

" Apa kode kasebut angel diwaca? Mbuwang omong kosong kasebut ing tong sampah lan tulis kabeh maneh saka awal! "

"Aku ora ngira iki masalah gedhe."

"Salah sawijining alasan Jawa minangka basa pamrograman sing unggul yaiku kabeh kode Jawa ditulis kanggo diwaca dening programer liyane."

"Saiki ayo pindhah menyang pitakonan kapindho: kepiye carane nggawe kode sampeyan gampang diwaca sabisa? "

"Sapa wae bisa ngerti yen ana wong sing ngucapake tembung sing akrab ing basa ibune. Iki uga bener. Kode gampang diwaca nalika programmer bisa ngira:

A)  Apa sing ditindakake saben metode

B)  Tujuan saben kelas

C)  Persis apa sing disimpen saben variabel.

Kabeh iki disampekake ing jeneng: jeneng kelas, jeneng metode, lan jeneng variabel. Kajaba iku, ana gaya nalika nerangake jeneng variabel. Lan ana gaya kode."

"Aku siyap ngrungokake."

" Pemrograman adhedhasar basa Inggris sing apik!  Program sing ditulis kanthi apik kaya dokumentasi teknis biasa. "

" Ayo miwiti karo jeneng. "

"Jeneng metode kudu njlèntrèhaké kanthi ringkes apa cara kasebut. Banjur kode bisa diwaca kaya prosa prasaja."

Program
public String downloadPhoto(String url)
{
 String resultFileName = TempHelper.createTempFileName();

 Downloader downloader = new SingleFileDownloader(new Url(url));
 downloader.setResultFileName(resultFileName)
 downloader.start();
 while(downloader.isDone())
 {
  Thread.sleep(1000);
 }

 if (downloader.hasError())
  return null;

 return resultFileName;
}

"Iki carane program kuwi diwaca."

Baris 1.

"Cara kasebut diarani 'downloadPhoto'. Iku misale jek ndownload file foto saka Internet. Ngendi diundhuh? Kita durung ngerti. Saka ngendi? Cara kasebut duwe parameter sing jenenge url — sing mbokmenawa URL kanggo download."

Baris 3.

"Variabel resultFileName diumumake lan diwenehi nilai dening TempHelper.createTempFileName();"

Dadi, iki kudu dadi path lokal menyang file sing bakal disimpen file sing diundhuh.

"Jeneng 'TempHelper' ora ngandhani apa-apa. Sufiks 'Helper' nyatakake yen iki minangka kelas sarana sing ora ngemot logika bisnis sing penting, nanging digunakake kanggo nyederhanakake tugas rutin sing kerep kedadeyan."

"Jeneng metode 'createTempFileName' nuduhake yen cara iki nggawe lan ngasilake jeneng file sauntara (file temp). File temp minangka file sauntara sing digawe sawetara wektu banjur biasane dibusak nalika program ditutup. "

Baris 5.

"Obyek SingleFileDownloader digawe lan ditugasake kanggo ngundhuh variabel."

Iki minangka obyek sing bakal ngundhuh file kita saka Internet.

"Obyek SingleFileDownloader ditugasake kanggo ngundhuh variabel. Saka jeneng kasebut, kita bisa nganggep manawa program kasebut nduweni sawetara jinis kelas pangundhuh. Salah sijine ditulis kanggo ngundhuh file siji, lan kita bisa uga bisa nyana nemoni pangundhuh liyane ing kode grup. file kanthi jeneng kaya: MultiFileDownloader, FileGroupDownloader, utawa DirectoryDownloader"

Baris 6.

"We nyetel property resultFileName obyek downloader padha karo nilai variabel resultFileName. Ing tembung liyane, kita ngandhani loader ngendi kanggo nyimpen file sing diundhuh. Minangka sampeyan bakal nyana. Dadi, kita Sejatine prédhiksi kode!"

Baris 7.

"We nelpon cara wiwitan. Download diwiwiti. Sing nggawe akal. Aku wonder carane download mengkono: ing bagean, ing thread kapisah, utawa kabeh bab tengen kene? Yen kita ngundhuh kabeh bab tengen kene, iku bisa njupuk a dawa lan duwe akibat."

Larik 8-11.

"Ah. Kene kita waca daur ulang standar ditulis dening wong nunggu download rampung. Obyek downloder wis rampung property, kang bali dening isDone () cara. Amarga cara disebut isDone (), tinimbang getDone (). ), kita nyimpulake yen variabel sing wis rampung yaiku boolean utawa bisa uga Boolean."

Larik 13-14.

"Yen ana kesalahan sak download, banjur cara downloadPhoto bali null. Iku apik sing nangani kasalahan. Iku ala sing mung bali null-ora cetha apa kesalahan. Iku bakal luwih apik kanggo uncalan pangecualian karo informasi bab kesalahane."

Jalur 16.

"We bali path menyang file lokal sing ngemot file sing diundhuh."

"Wah!"

"Kode program iki ndadekake iku pancen cetha apa. Sampeyan malah bisa nggawe guess babagan carane program diatur lan apa liyane kelas / metode kita bakal nemokake."

"Saiki aku ngerti carane penting jeneng."

"Luwih akeh babagan jeneng. Sampeyan kerep bisa guess cara sing obyek / kelas wis. Contone, yen obyek koleksi, banjur paling kamungkinan bakal duwe ukuran () utawa count () cara kanggo njaluk nomer unsur. Uga. , mesthine bakal duwe metode add () utawa insert (). Elemen dijupuk saka kelas koleksi nggunakake metode get/getItem/getElement.

"Yen variabel diarani i, j, utawa k, mula bisa uga minangka counter loop."

"Yen variabel diarani m utawa n, mula kemungkinan ukuran array / koleksi."

"Yen variabel diarani jeneng, mula kemungkinan String sing ngemot jeneng wong."

"Yen kelas diarani FileInputStream, banjur iku bebarengan file lan stream input."

"Sing luwih akeh kode sing sampeyan deleng, luwih gampang maca kode wong liya."

"Nanging kadhangkala ana kode sing angel banget diwaca. Ing kasus iki, ana saran sing praktis banget: "

Tip
Tulis kode kaya-kaya bakal dikelola dening psikopat kasar sing ngerti sampeyan manggon ing ngendi .

"Sing lucu lan ora lucu ing wektu sing padha."

"Saiki sethithik babagan gaya sing digunakake kanggo jeneng variabel."

"Pengembang Jawa nyoba menehi jeneng sing informatif banget kanggo variabel lan metode. Akibaté, jeneng asring dumadi saka sawetara tembung. Ana 4 gaya kanggo kapitalisasi jeneng senyawa."

1) Huruf cilik  - Kabeh tembung ditulis nganggo huruf cilik. Tuladhane:

'Green house'  dadi 'greenhouse'

'Gadis Hollywood'  dadi  'Gadis Hollywood'

Gaya iki digunakake kanggo jeneng paket.

2) Huruf gedhe  - Kabeh tembung ditulis nganggo huruf gedhe lan dipisahake kanthi garis ngisor. Tuladhane:

'Nilai maksimal'  dadi MAX_VALUE

'Cat count'  dadi CAT_COUNT

"Gaya iki digunakake kanggo jeneng konstanta (bidang statis pungkasan)."

3) CamelCase  - Kabeh tembung ditulis nganggo huruf cilik, kajaba huruf pisanan saben tembung yaiku huruf gedhe. Tuladhane:

'Green House'  dadi  'GreenHouse'

'Gadis Hollywood'  dadi 'Gadis Hollywood'

Gaya iki digunakake kanggo jeneng kelas lan antarmuka.

4) Lower CamelCase (huruf campuran)  - Kabeh tembung ditulis nganggo huruf cilik, kajaba huruf pisanan saben tembung kajaba sing pisanan yaiku huruf gedhe. Tuladhane:

'Get width' dadi 'getWidth'

'Entuk jeneng bocah wadon Hollywood' dadi  'getHollywoodGirlName'

"Gaya iki digunakake kanggo jeneng variabel lan metode."

"Dadi, ora akeh aturan."

1)  Kabeh ditulis ing Lower CamelCase.

2)  Jeneng kelas lan antarmuka tansah nganggo huruf kapital.

3)  Jeneng paket tansah aksara cilik.

4)  Konstanta tansah huruf gedhe.

"Ana sawetara nuansa, nanging umume kaya ngono."

"Saiki babagan metode.  "Jeneng metode meh tansah diwiwiti karo kriya! 'count' iku jeneng ala kanggo metode. Iku luwih apik kanggo nelpon getCount (). Cara nindakake sawetara tumindak ing obyek:  startDownload , interrupt  , sleep  , loadPirateMusic ."

"Minangka sampeyan wis ngerti, ana getter lan setter kanggo nggarap properti / kolom obyek:  getName / setName , getCount / setCount , etc."

"Pengecualian mung kanggo boolean. Kanggo boolean, jeneng getter nggunakake 'is', dudu 'get', contone isDone, isEmpty. Kanthi cara iki, luwih cedhak karo wicara biasa."

"Kepriye yen kerja rong jam saben dina tinimbang 8? Digodha?"

"Ya!"

"Sampeyan kudune. Kanggo pangembang Jawa SMP, syarat dhasar yaiku pemahaman sing apik babagan dhasar basa Jawa, yaiku Java Core."

"Aku duwe pitakonan liyane. Napa kita duwe cara sing beda-beda kanggo njupuk nomer unsur?"

kelas Cara / properti kanggo njupuk nomer unsur
String dawa ()
Array dawa
ArrayList ukuran ()
Grup Utas Jumlah aktif ()

"Kaping pisanan, Jawa diciptakake luwih saka 20 taun kepungkur, sadurunge syarat kaya setCount / getCount wis ditetepake, lan ana pendekatan umum sing dijupuk saka basa C kanggo 'dadi cendhak sabisa'."

"Kapindho, semantik nduweni peran ing kene. Nalika ngomong babagan array, kita ngomong babagan dawane. Nalika ngomong babagan koleksi, kita ngomong babagan ukurane."

"Apa wulangan menarik."

"Aku pengin ngomong maneh, nanging aku wedi yen sampeyan ora bakal kelingan kabeh bebarengan. Iku luwih apik kanggo sajian metu kanggo sampeyan ing porsi cilik."

"Nanging aku pengin ndemek gaya babagan panggunaan kurung kriting: {}. Ana rong pendekatan:"

1)  Krenjang dadi ing baris anyar saben wektu

2)  Krung bukaan dadi ing mburi baris sadurungé, nalika krenjang nutup dadi ing baris anyar. Gaya iki diarani 'braces Mesir'.

"Sajujure, sampeyan bisa milih carane kode. Akeh wong nggunakake kurung bukaan ing baris sing padha. Akeh wong sijine ing baris anyar. Iku kaya debat babagan pungkasan endhog kanggo break: mburi cilik utawa amba. pungkasan."

"Ing bab mung aku bisa menehi saran kanggo tetep ing gaya apa wae sing digunakake ing proyek sampeyan nggarap. Aja ngganti kode wong liya kanggo cocog karo gaya sing disenengi.  Wong ora sampurna. Aku pitutur marang kowe iki minangka Doctor Bilaabo. "

"Matur nuwun kanggo pawulangan sing menarik, Bilaabo. Aku bakal mikir babagan apa sing sampeyan ucapake."