r04 (14) 

do ÂściÂągnięcia; ebook; download; pdf; pobieranie

  • Index
  • r 01.05 (3)
  • 4 (46)

WÄ…tki

  • Index
  • 04 (14)
  • 14 (33)
  • 14 (54)
  • 2 (14)
  • r04 04 (9)
  • R04 03 (2)
  • r04 04 (14)
  • Brooks Terry 4 Potomkowie Shannary
  • Bulyczow Kiryl Pieriestrojka w Wielkim Guslarz
  • Baldacci, David Der Abgrund
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • enzymtests.keep.pl

[ Pobierz całość w formacie PDF ]
.Na tak postawione pytaniemo¿na odpowiedzieæ jedynie innym pytaniem — czy wprowadzone zmiany na pewno,bez ¿adnych w¹tpliwoœci, wolne s¹ od jakichkolwiek b³êdów? To prawda, i¿przeœledzenie ka¿dego nowego (lub zmodyfikowanego) fragmentu kodu wymaga trochêczasu, lecz jednoczeœnie fakt ten staje siê nieoczekiwanie przyczyn¹interesuj¹cego sprzê¿enia zwrotnego — mianowicie programiœci przywykli dokonsekwentnego œledzenia w³asnego kodu wykazuj¹ tendencjê do pisania krótkich iprzemyœlanych funkcji, bowiem doskonale wiedz¹, jak k³opotliwe jest œledzeniefunkcji rozwlek³ych, pisanych bez zastanowienia.Nie nale¿y tak¿e zapominaæ o tym, by przy wprowadzaniu zmian do kodu ju¿przetestowanego zmiany te nale¿ycie wyró¿niaæ.Wyró¿niamy w ten sposób tefragmenty, które istotnie wymagaj¹ testowania; w przeciwnym razie ka¿da zmianakodu mo¿e pozbawiæ istniej¹cy kod wiarygodnoœci uzyskanej drog¹ czasoch³onnegotestowania — niczym odrobina ¿Ã³³ci zdolnej zepsuæ beczkê miodu.W prawid³owo dzia³aj¹cym programie wywo³anie funkcji malloc powodujeprzydzielenie tu 32-bajtowego bloku pamiêci i zwrócenie niezerowego wskaŸnika,zatem blok uwarunkowany instrukcj¹ if nie zostaje wykonany.Aby go naprawdêprzetestowaæ, nale¿y zasymulowaæ b³êdn¹ sytuacjê, czyli zast¹piæ wartoœci¹ NULLdopiero co przypisany wskaŸnik:pbBlock = (byte *)malloc(32);pbBlock = NULL;if (pbBlock == NULL){.obs³uga b³êdu}Spowoduje to co prawda wyciek pamiêci wywo³any utrat¹ wskazania na przydzielonyblok, jednak¿e na etapie testowania zazwyczaj mo¿na sobie na to pozwoliæ; wostatecznoœci mo¿na wykonaæ wyzerowanie wskaŸnika zamiast wywo³ywania funkcjimalloc:/* pbBlock = (byte *)malloc(32); */pbBlock = NULL;if (pbBlock == NULL){.obs³uga b³êdu}Na podobnej zasadzie nale¿y przetestowaæ ka¿d¹ ze œcie¿ek wyznaczonych przezinstrukcje if z fraz¹ else, instrukcje switch, jak równie¿ operatory &&, || i?:.Pamiêtaj o przetestowaniu ka¿dego rozga³êzienia w programie.¯ywotne znaczenie przep³ywu danychPierwotna wersja stworzonej przeze mnie funkcji memset, prezentowanejw rozdziale 2., wygl¹da³a nastêpuj¹co:void *memset(void *pv, byte b, size_t size){byte *pb = (byte *)pv;if (size >= sizeThreshold){unsigned long l;l = (b [ Pobierz caÅ‚ość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • agafilka.keep.pl
  • top

    twitter facebook rss

    Copyright © ZadurzyÅ‚em siÄ™ w Percym - wyrzuciÅ‚ z siebie Nico. - Taka jest prawda. Taki jest mój wielki sekret. | design from css3templates.co.uk

    Darmowy hosting zapewnia PRV.PL