Your SlideShare is downloading. ×
Ať se z kódu nepráší!
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Ať se z kódu nepráší!

1,014
views

Published on

Talk about programming in C for FI MUNI Brno. Topics: Uni

Talk about programming in C for FI MUNI Brno. Topics: Uni

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,014
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Transcript

    • 1. Ať se z kódu nepráší! Juraj Michálek 7 5. 2012 - FI MUNI - Brno . http:/ /georgik.sinusgear.com http:/ witter.com/sinusgear /t
    • 2. Niečo o mne
    • 3. Čo nás čakáTestovanie v CKvalita kódu, open source a projektyC vo svete Applu, Objective-C
    • 4. Když se dívám na svůj kód,tak se musím pochválit.Nevypadá věru zle,zkrátka program jak má být.Před naší, za našíať se z kódu nepráší! Hej!
    • 5. Háá! Chybáá!
    • 6. Testovaniežiadnemanuálneautomatické
    • 7. Žiadne testovanie
    • 8. Ľudová múdrosťBez testů do vývoje nelez!
    • 9. Manuálne - black boxSpustíme a aplikácia ...
    • 10. Manuálne - debuggerKdyž něco rozeberem, tak leda debuggeremhttp://georgik.sinusgear.com/2010/09/19/zaznam-z-prednasky-kdyz-neco-rozeberem-tak-leda-debuggerem/
    • 11. Prečo automatizovať?Som vývojár alebo debuggrista?
    • 12. Automatizované testy Záchranná sieť pre vývojárov Živá dokumentácia Lepší dizajn Viac času na vývoj
    • 13. Typy testovUnit testing - jednotkové testyIntegračné testyAkceptačné testyRegresné testy
    • 14. Test Driven Devel.Testy prvéPotom kód
    • 15. Unit Testingizolácia setUp - príprava prostredia test - samotný test tearDown - upratanie prostredia
    • 16. Príklad testuint a=41;a++;assert( a == 42, “Universe should be ok”);
    • 17. MinunitMinimalist Unit Testing Framework for Chttp://www.jera.com/techinfo/jtns/jtn002.html
    • 18. Minunit - code/* file: minunit.h */#define mu_assert(message, test) do { if (!(test)) return message; } while (0)#define mu_run_test(test) do { char *message = test(); tests_run++; if (message) return message; } while (0)extern int tests_run;
    • 19. mu_runtestmu_runtest( test_currency );mu_runtest( test_accounting );
    • 20. mu_assertmu_assert(“Should not be null”, state == null);
    • 21. Spusteniegcc *.c -o test./test ALL TEST PASSED Tests run: 2
    • 22. gcc - c99for (int i=0; i<42; i++) error: ‘for’ loop initial declaration used outside C99 modezmena normy parametrom: gcc -std=c99
    • 23. Check frameworkhttp://check.sourceforge.net/Inštalácia ./configure make make install
    • 24. Organizácia testovTest Case testovaný prípadTest Suite sada Test CaseTest Runner
    • 25. Test Fixturesvoid setup();void teardown();
    • 26. Kontrólne fciefail_if ( employee->age != 43, “Problem”);fail_unless( employee->age == 43,"Incorrect age.");
    • 27. Kompiláciagcc -lcheck test.c -o test
    • 28. Spustenie testu./testPríklad: Running suite(s): Employee testing 0%: Checks: 1, Failures: 1, Errors: 0 main.c:45:F:Core tests:test_age:0: Incorrect age.
    • 29. Ďalšie frameworkyC/C++ CxxTest: http://cxxtest.com/ Boost: http://boost.org
    • 30. Continuous Integration Jenkins http://ci.sinusgear.com
    • 31. Open sourceProjektyLicencie
    • 32. Code_swarmOrganic soft ware visualization ofproject repositorieshttp://code.google.com/p/codeswarm/
    • 33. Gourcehttp://code.google.com/p/gource/
    • 34. Ohloh.nethodnotenie open source projektov
    • 35. Lynda.comDobrý zdroj znalostí
    • 36. se-radio.net
    • 37. Kvalita kóduKód sa viackrát číta, než sa píše.Review kódu
    • 38. Ot vorenie kóduGitHub.com Social Coding fork
    • 39. LicencieFree soft ware GNU/GPL, LGPLOpen source BSD, MIT, Apache business friendly
    • 40. Čítajte licencieCopyright (c) 2002 JSON.orgPermission is hereby granted, free of charge, to any person obtaining acopy of this software and associated documentation files (the"Software"), to deal in the Software without restriction, including withoutlimitation the rights to use, copy, modify, merge, publish, distribute,sublicense, and/or sell copies of the Software, and to permit persons towhom the Software is furnished to do so, subject to the followingconditions:The above copyright notice and this permission notice shall be includedin all copies or substantial portions of the Software.The Software shall be used for Good, not Evil.
    • 41. Čítajte licencieCopyright (c) 2002 JSON.orgPermission is hereby granted, free of charge, to any person obtaining acopy of this software and associated documentation files (the"Software"), to deal in the Software without restriction, including withoutlimitation the rights to use, copy, modify, merge, publish, distribute,sublicense, and/or sell copies of the Software, and to permit persons towhom the Software is furnished to do so, subject to the followingconditions:The above copyright notice and this permission notice shall be includedin all copies or substantial portions of the Software.The Software shall be used for Good, not Evil.
    • 42. Objective-Cprogramovací jazyk vychádzajúci z Cobjektové princípy zo Smalltalku
    • 43. Objective-C1983 - Brad Cox a Tom Love zakladajú StepStone1988 - Steve Jobs - NeXT licencuje Objective-C od StepStone rozširuje GCC, vyt vára AppKit
    • 44. Objective-C1996 - Apple ohlásil akvizíciu NeXT 429 mil. $Cocoa framework
    • 45. Apple a CMac OS 10.7 Xcode 4 Command Line Tools for Xcode http://developer.apple.com
    • 46. Xcode 4Nutné: Mac OS X 10.7
    • 47. Objective-CSyntax: cammelCasePrefix: NS (od NextStep)
    • 48. Hello FI MUNI! Command + R
    • 49. NSStringNSString *who = @”FI MUNI”;NSLog(“Hello %@!”, who);
    • 50. BooleanBOOL isFIBest = YES;BOOL isCBoring = NO;
    • 51. Správa pamäteNové verzie Mac OS podporujú auto-garbage collection.Nespoliehajte sa na to! Naučte sa manažovať pamäť. Nefunguje na mobilných zariadeniach.
    • 52. Retain Counteralokácia - zvýšenie počítadladealokácia - zníženie počítadla
    • 53. PravidláAk objekt vlastníš, musíš ho uvoľniť.Ak objekt nevlastníč, nesmieč ho uvoľniť.
    • 54. Vlastnenie objektualloc, new, retain, copyKaždý ANRC musí mať release!
    • 55. Alokácia - new
    • 56. Alokácia a inicializácia Preferovaný spôsob
    • 57. Rozdelenie kódurozhranie (interface) - *.himplementácia - *.m
    • 58. Interface@interface Employee : NSObject {@private NSString *name; NSString *surname; NSDate *age;}@end
    • 59. Implementácia@implementation Employee- (void) myMethod { NSLog(@"Hello");}@end
    • 60. Znak pred metódou- (void) myMethodznak mínus - metóda inštancieznak plus - statická metóda
    • 61. Prístup k zdrojomNSURLNSURL *myURL = [NSURLfileURLWithPath:path];file:/ /Users/georgik/file.txt /
    • 62. Prečo používať NSURL? Pretože to tak Apple povedal. rýchlejšie na iOS zachytenie chyby v prípade zlého formátu omnoho mocnejšie
    • 63. Allegropodpora aj pre iPhone
    • 64. Ať se z kódu nepráší! Juraj Michálek 7 5. 2012 - FI MUNI - Brno . http:/ /georgik.sinusgear.com http:/ witter.com/sinusgear /t