Oblasti Računari Programiranje

Java debagovanje

 

Java debagovanje
Autor: Will David Mitchell Spisak svih knjiga  
Prevod:  
ISBN: 86-7310-110-7  
Format:  
Strana: 461  
Povez:  
Izdavač: Kompjuter biblioteka Spisak svih izdanja  
Godina:  

 

Trenutno nema na stanju

 

 

Napišite program bez grešaka od početka do kraja. Uništite Java bube (engl. bugs) pomoću saveta, trikova i naprednih tehnika za rešavanje problema, koji se nalaze u ovoj iscrpnoj knjizi. Debugging Java vam prikazuje, korak po korak, kako da u vašim apletima i aplikacijama locirate i eliminišete jednostavne nepravilnosti, kao i one koje su teške za otkrivanje. Naučićete kako da sprečite pojavu bagova zbog većeg broja linija u vašem kodu, izbegnete usporavanje programa, smanjite pritisak koji nastaje zbog krajnjih rokova upotrebom RFA, koristite tekst editore i makroe za smanjivanje grešaka, koristite debugging power alate, i eliminišete konflikte više niti. Ekspert za debugging, Will David Mitchel,l će vam čak pokazati i kako nepravilnosti koje se mogu javiti prilikom projektovanja i logične mane mogu stvoriti nove osobine! Kada ga "to radi na mojoj mašini” neće eliminisati, upotrebite rešenja koja nudi ova knjiga kako biste dobro istrebili Java bube (bagove).

Koji aspekt računarske tehnike je za vas, vašeg pretpostavljenog i vaše korisnike najbolniji? Bagovi (engl. bugs – bube)? U tome niste usamljeni.

Najmoćniji trgovci na planeti ostvarili su svoj uspeh otkrivanjem problema koji su za ljude najbolniji, i napornim radom na olakšavanju tih problema. Iz istih razloga su i najcenjeniji svetski programeri ostvarili svoj junački status, stvarajući bezbolne kodove, bez buba. Većina najboljih tehnika nije intuitivnog tipa, ali ih Debuggung Java ipak otkriva. Ova knjiga vam pokazuje kako da:

• Ukažete na bagove na samom početku
• Napišete kod koji izbegava bagove
• Locirate i uništite par onih koje su vam utekle
• Napravite bolju klopku za bube
• Napišete savršenu poruku greške
• Upotrebite automatizovane alate za uklanjanje buba iz programa
• Učinite da vas korisnici vole

Bube stvaraju bol jer su neverovatno skupe. Razmislite samo o milijardama dolara koje su potrošene na takozvanu milenijumsku bubu, ili na cenu zamene svemirske sonde koja se greškom srušila na Mars. Sve dok je matematički moguće izvršiti testiranja na sve greške, dotle ima smisla i sprečavanje od njihovog razmnožavanja u vašem Java kodu. Debuggung Java otkriva tajne programerskih majstora vezane za ovaj problem. Iako je ova knjiga skoncentrisana na Javu i srodne proizvode, principi pisca se mogu primeniti na bilo koji projekat, pa čak i na one koji su van dometa računarske tehnike.

Debuggung Java vam pokazuje izvore Java buba i mudre načine za njihovo uništenje. Evo tri primera:

Pritisak krajnjeg roka – U okviru "Ne propustite drugi rok", ova knjiga po prvi put javnost demonstrira Risk Factor Analysis (RFA). RFA vam omogućava da cenu projekta procenite tri puta tačnije nego što je to slučaj sa ostatkom industrije. Procene koje daje RFA su ubedljive i omogućavaju vam da od vaših pretpostavljenih i od klijenata dobijete čvrste, razumne rokove. Izbegavajući pritisak koji stvara krajnji rok izbećićete celu klasu bagova.

Strah - U okviru "Prvo napišite uputstvo za upotrebu", pisac vam pokazuje kako da u set programskih specifikacija uključite i uputstvo za upotrebu koje korisnik može da razume. Ovaj ‘zastareli” pristup kod korisnika eliminiše strah od angažovanja za pregledavanje jednog legalni dokumenta, čime vi zaustavljate govorkanja korisnika. Zato, prosto napišite i testirajte vaše programe saglasno sa uputstvom za upotrebu.

Niti (engl. threads) – Niti su svojstvene Javi. Takvi bagovi se odnose na vreme, datum, različite virtualne mašine, pa čak i koliko brzo ste dvostruko kliknuli mišem! Većina se dešava samo u retkim momentima kada se dve ili više niti nalaze u medjusobno konfliktnim situacijama, stvarajući takve bagove koji se teško reprodukuju. Pisac nam otkriva specijalne taktike koje su potrebne za praćenje, lociranje i uništavanje takvih buba.

Automatizacija – Većina kompanija testira manje od trećine kodova koje prodaje! Ovi rezultati su opširno razmatrani. Java je iznedrila veliki broj neverovatno moćnih alata koji pomažu otklanjanje grešaka koje se nalaze u vašem kodu. Upotrebom ovih alata, možete obezbediti da svaki vaš kod bude testiran. Treba da znate da je testiran mnogo bolje nego bilo koji kod u poslednjih nekoliko godina. Debuggung Java vam pokazuje kako da iskoristite većinu ovih automatizovanih alata.

• Naučite arhitekturu čistog Java koda i eliminišite loše programerske navike
• Postavite efikasnu zamku za lociranje i drobljenje Java buba (bagova)
• Pronađite, proanalizirajte i rešite greške i probleme u objektno-orijentisanim i proceduralno-orijentisanim kodovima
• Upotrebite Risk-Factir Analysis za eliminisanje bagova koji nastaju zbog pritiska vezanog za krajnje rokove
• Implementirajte makroe da biste otklonili greške i uštedeli vreme
• Proširite i savladajte Copy/Paste bafer kako biste izbegli greške u kucanju
• Prepoznajte i uklonite uslove koji mogu dovesti do međusobno konfliktnih niti

I zaista, vaš moto bi trebao da bude, kao što je dvadeset godina bio ovom piscu, "Softver koji zauvek vredi".

Poglavlje 1 – Dokazi i neformalne potvrde da ni jedno testiranje ne može otkriti sve bagove. Prema tome, od samog početka morate napisati kod koji izbegava bagove.

Poglavlje 2 – Zalazi u psihološke i fiziološke razloge postojanja buba. Ovo vam pomaže da u svom svom kaprisu, postanete kreativniji, ili organizovaniji. Ovo poglavlje stvara dobar primer pisanja dokumentacije pre pisanja koda, pokazuje vam kako da tu dokumentaciju ubacite unutar čvrste programske specifikacije. Radeći ovo smanjićete pritisak koji stavaraju krajnji rokovi, ali vas poglavlje vodi dalje predstavljajući po prvi put u knjizi, Risk Factor Analysis. Ovaj moćni alat vam dozvoljava da napor procenite dva puta tačnije nego što bi to uradili bez njega. Štaviše možete odbraniti vaš trud, čime zaustavljate govorkanja korisnika.
Ovo poglavlje vam pokazuje kako da poredjate vaše zadatke u programiranju, tako da se neprijatnosti dese što pre, kada ćete ih lakše rešiti.

Poglavlje 3 - Počinje time kako da napravite što bolju zamku za bube. Pokazuje vam kako da iskoristite vaš Java kod, tako da vam on kaže gde se desio problem.
Predstavljen u C++, a pozajmljen u Javi, napredni mehanizam za hvatanje grešaka, koji ne zakopava originalni kod unutar zamke za grešku. Ovo poglavlje vam pokazuje kako da i kako da ne koristite taj mehanizam.
Ono se završava ohrabrujući vas da praktikujete stvaranje bagova, kako biste se upoznali sa njima.

Poglavlje 4 – Detaljno prikazuje Risk Factor Analysis (RFA), pokazujući vam kako da ga zaposlite na najbolji mogući način. Programeri treba da postanu eksperti u procenjivanju vremena koje im je potrebno da urade nešto što ne znaju da rade. Vauu! Samo vam nešto poput RFA daje šansu za borbu.

Poglavlje 5 – Objašnjava editore i integrisana razvojna okruženja (Integrated Development Enviroments – IDEs). Koristeći projekat koji vas uči nekim Java lukavstvima, ovo poglavlje vam pokazuje kako da ubacite Microsoft Word u veoma moćan Java editor, u koji je ugra|eno tuce automatizovanih alata. Prema tome, ovo poglavlje objašnjava najbolje Java editore koji se nalaze na tržištu.
Ono pokazuje kako da učinite da što veći broj grešaka odudara, kao da ih na primer označite crvenom bojom. Ono pokazuje i kako da proširite vaš Windows clipboard tako da celu kalasu buba sprerčite da se razmnožavaju.
Možete imati Java-orijentisani spell checker.
"Holey” 3x5 karte mogu organizovati vaš projekat tako da samo kompjuterski program može da se duplira ali za upola kraće vreme.
IDE omalovažavaju neki puristi, koji pišu odlične Java kodove. Ovo poglavlje pokazuje načine za korišćenje najpopularnijih IDE editora. Neki IDE su besplatni.

Poglavlje 6 – Klasifikuje Java bube, pokazujući nove načine za njihovo detektovanje i rukovanje. Neke od njih su svojsvene i drugim programskim jezicima. Naprimer, tokom faze projektovanja, svaki put kada imate jedan neparan broj uslova za razmatranje, kao što je čovek, žena i dete, veovatno ćete jednog ispustiti. Bube se gomilaju na odredjenim mestima. Poznavanje načina za otkrivanje takvih mesta dozvolajva vam da portošite 20 procenata vašeg vremena za otkrivanje 80 procenata buba, umesto da kružite okolo. Ova mesta su različita za različite klase buba: matematičke, logičke, sintaksne, Bulove, memorijske, operatorske, i druge. Ovo poglavlje pokazuje kako da efikasno detektujete takve bube.
Java je napisana tako da izbegne mnoge probleme, kao što je neprijatnost koju stvaraju C/C++ pointeri. Java niti, medjutim, uvode novu klasu buba sa kojom morate da se izborite.

Poglavlje 7 – Poredi debugging sa strategijama [erlok Holmsa. Ovo poglavlje se vraća na filozofiju i fiziologiju da bi vam pokazao kako da induktivno ili deduktivno mislite, u zavisnosti od situacije. Ono pokazuje kada i kako da upotrebite depth-first pretraživanje bagova, a kada da uposlite breadth-first taktiku.
Lični standardi prilikom kodiranja je veoma moćna zaštita od grešaka, a ovo poglavlje prikazuje skup koji ima naš autor. Veoma je važno da ne usvojite ove standarde, već da stvorite svoj sopstveni skup.

Poglavlje 8 - Objašnjava automatizovane debuggere. Ovi moćni alati mogu da napišu setove za testiranje umesto vas, analiziraju vaš kod pre kompajliranja, analiziraju pokrenuti kod, obezbe|uju testiranje svih grana, proveravaju pukotine u memoriji, predvi|a konflikte izme|u niti (engl. threads), profile za performanse ili memorijska opasna mesta. Pošto se jedna greška može desiti na svakih 100 pokretanja, ova prednost može biti ogromna. Možete analizirati pozive metoda, gomile, stek, RAM, I/O, portove, i još mnogo toga. Možete postaviti tačke prekida (engl. break points) i tačke posmatranja (engl. watch points) koje vam dozvoljavaju da vidite sadržaj svih niti i promenljivih kadgod se nešto interesantno desi. Možete izvršiti izmenu koda u letu, ponovno kompajliranje, nastavljanje, ili restart programa.
Možete debagirati Mecintosh u Čikagu, Pentium u Rimu, i VAX u Brizbenu, sve sa Solars-a u San Dijegu i sve to u isto vreme, i oni interaguju jedan sa drugim. Možete automatski detektovati i popraviti bagove koje nikada ne biste mogli da pronadjete ručno.

Poglavlje 9 - Uvodi grandiozne strategije za debugging. Ono što je veoma interesantno je to što se ova knjiga nalazi u vakuumu. Skoro da ne postoji ni jedna knjiga na temu debugging Java, i uopšte na temu debugging-a. Debugging, slično testiranju, ima prednost što stvari radi na pametniji način, koristi najbolje dostupne resurse.
Ovo poglavlje obuhvata različita rezonovanja, koji pripadaju debugging-u. Ono pokazuje kako da uposlite binarno pretraživanje za poboljšanje debugging-a, na isti način kako ono poboljšava traženje fajlova. Ono pokazuje da je testiranje sa dna ka vrhu (engl. bottom-up), iako se retko koristi, najefikasnije sredstvo za stvaranje preciznog koda.
Ovo poglavlje usmerava pažnju na povratak grešaka i pokazuje kako da ga izbegnete. Zatim, pokazuje kako da napišete test odsečke koji simuliraju module koji još uvek nisu napisani, tako da test možete da izvedete.

Poglavlje 10 - Razmatra testiranje. Test tipa black-box (crna kutija) vode brigu samo o ulazu i izlazu. Nasuprot tome, testovi tipa white-box (bela kutija) zalaze u najskriveniji rad koda.
Ovo poglavlje daje specifikacije za šest automatizovanih analizatora. Neki od ovih su već obuhvaćeni komercijalnim proizvodima, a neki su potpuno novi.
Da li biste voleli da znate koliko bagova je ostalo u vašem kodu? Postoji način da se to sazna, mnogo pre nego što ste locirali sve bagove. Ovo poglavlje detaljno prikazuje dva načina, ostavljajući treći za Poglavlje 13.
Ovo poglavlje se završava jakim argumentima koji se odnose na potrebu postojanja drugog kompjutera. U poredjenju sa ekstremno velikom cenom bagova, i u poredjenju sa vašom platom, cena drugog kompjutera je veoma mala.
Slično tome, cena prikazanog softvera je beznačajna u poredjenju sa tim koliko vas koštaju bagovi. Ovo poglavlje vam pokazuje zašto vi i vaši korisnici uvek treba da biraju robusnije softvere, bez obzira na njihovu cenu. To je jeftinije.

Poglavlje 11 - Objašnjava niti i kako oni interaguju. Ne možete izbeći Java niti. Njih prati glas komplikatora programa, ali ustvari one sve pojednostavljuju. Niti emuliraju kako ljudi misle i žive. Iako smo programirani da napišemo sekvencijalni kod, okruženja u vidu niti olakšavaju život, zato što primere možemo da potražimo u ljudskom rodu.
Medjutim, niti mogu da budu u koliziji. One mogu udju u mrtvu petlju. Oni mogu da počnu sa brzinom podataka, kao što je klasični slučaj kada se dvojici ljudi dozvoli podizanje po 1000$ sa bankovnog računa, koji samo ima 1000$ na prvom mestu, simultanim delovanjem. Niti mogu da umru, ostavljajući druge niti koje zavise od njih, stalled. Čitave biblioteke, pri čemu se ističe Swing, nisu bezbedne po pitanju niti.
Java iskaz synchronized može da upozori na brzinu podataka, i otkrije mrtvu petlju u nekom kodu. Prema tome synchronized blok radi na oko 25 procenata brzine. Monitori, semafori, multipleksiranje, podela, i druge metodologije kodiranja su često efikasnije od synchronized blokova. Ovo poglavlje pokazuje kako da primenite te napredne tehnike.

Poglavlje 12 - Pomaže da obezbedite lojalnost vaših korisnika. Treba se sažaliti na jadnok korisnika koji treba da da izveštaj za CEO za jedan sat, ali kome se pojavila poruka "Invalid Page Fault”. Korisnik zna da će kompjuter da se sruši. Tada će CEO optužiti korisnika, a ne onoga ko je napiaso kod sa greškom.
Zašto ipak treba da napravimo back-up naših fajlova?
Ovo poglavlje piokazuje kako da napišete poruku greške tako da vas zbunjeni korisnik voli i ne traži ništa čime bi vas ubio. Možete čak i da besplatno upišete mudar korisnički savet. Sve to zavisi od načina na koji predstavljate grešku.
Davanje odgovora na osnovna pitanja ko, šta, gde, kad i kako, je neophodno ali i glomazno. Prema tome, vi treba da date većinu informacija na jedinstveni način koji je najbolji i za vas i za vašeg korisnika.
Zaboga, nikako ne unosite pogrešno napisanu reč u poruku greške!
Treba da unesete većinu poruka greške na hard disk korisnika, u vidu kružećeg reda koji izbegava upotrebu drajva. Ovo poglavlje pokazuje najjednostavniji način za primenu takvog reda, i kako ga vaš tim za podršku može iskoristiti za davanje usluga.

Poglavlje 13 – Vraća se na testiranje, sa akcentom na novo saznanje o nitima (engl. threads). Ono pokazuje kako se većina testiranja može automatizovati, do različitog nivoa.
Ovo poglavlje razmatra sledećih deset tipova testova, kao što je stress test, fault incertion, i backup testiranje.
Poglavlje se završava načinom za uključenje automatizovanog testiranja u novu paradigmu koja vam govori koliko buba je ostalo. Ukoliko možete da procenite broj preostalih buba, možete i odlučiti da li ćete taj broj smanjiti na nulu ili ne. Ta odluka može biti i van vaših moći, iz ekonomskih razloga. Sa druge strane, životi mogu da zavise od toga da li vaš kod ima buba.

Dodatak A – Daje prikaz velikog broja komercijalnih softvera koji su povezani sa Javom.

Dodatak B – Govori vam mesta na kojima možete da prona|ete najveću količinu informacija u knjigama, časopisima, newsgroups, Web sajtovima.

Dodatak C - Daje moj "21 zakon programiranja".

Dodatak D – Je tumač pojmova Java termina koji se koriste u ovoj knjizi, uključujući i dosta njih koji se ovde ne koriste.

Dodatak E – Daje izvorni kod za veliki broj moćnih Microsoft Word makroa. Ovi makroi vam pomažu da ubacite Word u veoma korisni Java editor, pomoću nekoliko karakteristika koje IDE nije imao do sad.

Za zabavu

Okrenite stranice do Poglavlja 1 i vidite zašto je moguće napisati skup testova koji će pronaći sve bagove. Uživajte.

 

Izbor iz iste oblasti

 

Windows 8 razvoj aplikacija
 

David Fulop

Windows 8 razvoj aplikacija

Ukoliko ste programer početnik, ne postoji bolji način da započnete učenje Windows 8 SDK alata od ovog Wrox vodiča. Tim eksperata kompanije Microsoft kreirao je za vas... ceo tekst Ceo opis knjige

 

C#, naučite za 24 časa
 

James Foxall, Wendy Haro-Chun

C#, naučite za 24 časa

U samo 24 lekcija naučićete C#, Microsoftov najnoviji programski jezik, korak po korak od vodećeg stručnjaka James Foxall. Svaka lekcija je nadograđena na prethodnoj - omogućavajući... ceo tekst Ceo opis knjige

 

C# programiranje za vindovs i andrpoid
 

Dr John Allwork

C# programiranje za vindovs i andrpoid

Knjiga obuhvata korake od instalacije, .Net framework-a i objektno-orijentisanog programiranja, pa sve do naprednijih koncepata, uključujući primenu baze podataka, obradu niti... ceo tekst Ceo opis knjige

 

Java 11 i 12, naučite za 21 dan prevod osmog izdanja
 

Rogers Cadenhead

Java 11 i 12, naučite za 21 dan prevod osmog izdanja

Za samo 21 dan možete steći znanje i veštine neophodne za razvoj aplikacija na računaru, veb serverima i mobilnim uređajima. Pomoću ovog kompletnog uputstva brzo ćete da naučite osno... ceo tekst Ceo opis knjige

 

C++ jedna lekcija dnevno
 

Siddhartha Rao

C++ jedna lekcija dnevno

Za samo sat učenja dnevno savladaćete sve veštine koje su vam potrebne da započnete programiranje u C++ jeziku. Pomoću ovog kompletnog vodiča brzo ćete savladati osnove... ceo tekst Ceo opis knjige