Kursplan
QA/CI
- Vad är QA?
- Vad är CI?
- Kostnaderna för programutveckling, omarbeta och åtgärda fel
- Identifiering och förståelse av projektet
- Vinst för organisationen
DDD
- Programutveckling baserat på affärskrav och antaganden DDD
- Kommunikationsproblem mellan IT- och affärsavdelningen
- Domänmodell
Bästa Praktiker
- KISS-principen och DRY
- Kodstandarder
- Skapa återanvändbar kod genom OOP och designmönster
- Identifiera och minska cyklomatisk komplexitet
Programvarumetriker
- Viktmetod per klass
- Svarsförmåga för en klass
- Djupet i arvsträdet
- Koppling mellan objekt
- Saknad sammanhållning i metoder
- Antal barn
- Cyklomatisk komplexitet
- Klassmetriker
- Modellmetriker
- Metriker för användning
Programvarutestning
- Vad, när och hur ska man testa?
- Metoden för "vitlåda" och "svartlåda"
- Rollen för testning i agila metoder
- TDD kan bara öka projektkostnaden
- Enhetstestning med JUnit (Java), PHPUnit (PHP)
- Beteendetester med JBehave (Java), Behat och Mink (PHP)
- Funktionella tester
Omarbete
- Vad är omarbetning?
- Teknisk skuld
- Kodlukt
- Omarbetningsmönster
Dokumentation
- Rollen för dokumentation i agila metoder
- Vad ska dokumenteras?
- Typer av dokumentation
- Dokumentation och agila metoder, eller kan man kalla det (Fungerande programvara över omfattande dokumentation)?
- Standard XMI
- Automatisk generering av dokumentation från Javadoc (Java), ApiGen (PHP)
Verktyg och Miljö CI
- Verktyg och Miljö CI
- PMD (Java), phpmd (PHP)
- CPD (Java), phpcpd (PHP)
- Räknare för rader med kod (Java), phploc (PHP)
- UCDetector (Java), phpdcd (PHP)
- Jdepend (Java), phpdepend (PHP)
- Jenkins Continuous Integration Server
Agile och CI/QA
- Planering och inkrementell utveckling
- Anamma förändringar
- Korta etapper
- Interdisciplinär team
- Extreme Programming, Kodbearbetning
- Individer och interaktioner över processer och verktyg
Sammanfattning
- Diskussion
- Frågor
- Hur börjar man processen med implementation?
Krav
Kunskap om mjukvaruutvecklingsprocesser
Vittnesmål (5)
Engagerande och praktiska övningar.
Balavignesh Elumalai - Scottish Power
Kurs - SonarQube for DevOps
Maskintolkat
Tränaren har djupgående erfarenhet och väl berättad i handling. Djupet i kunskapen och passionen för undervisning är mycket uppskattad.
Anup Kumar - SMR Automotive Mirrors Stuttgart
Kurs - Jenkins 2: Building CI/CD Pipelines
Maskintolkat
The trainer was very well organized. He explained about all the tools required for the training in the beginning. The trainer happily clarified all the doubts and practical use cases were discussed.
Vivek Verma - Global Knowledge Network Training Ltd
Kurs - DevOps Practical Implementation and Tools
Very detailed, trainer knows the subject very well and has covered a lot of topics
Gabriel Kelly Navarro - Opswerks
Kurs - Advanced Spinnaker
Luke was very knowledgeable, patient, and very open to satisfy my curiosity, for example I asked him to generate errors to see how system will response, etc. He would go above and beyond to answer questions or demonstrate the functionalities, even some of my questions were out of the class scope. He gave me a real experience with the system. I definitely will take another class with him and recommend him as a teacher for others. Thank you Luke!.