Schița de curs
QA/CI
- Ce este QA?
- Ce este CI?
- Costurile dezvoltării software, refactoring și corectarea erorilor
- Identificarea și înțelegerea proiectului
- Avantajele pentru organizație
DDD
- Dezvoltarea software bazată pe cerințele afacerii, presupuneri DDD
- Problemele de comunicare IT-Afaceri
- Modelul domeniului
Principii optimale
- Principiul KISS și DRY
- Standarde de codificare
- Crearea codului reutilizabil prin OOP și modele de proiectare
- Identificarea și reducerea complexității ciclotomice
Metrici software
- Ponderile metodelor per clasă
- Răspunsul unei clase
- Adâncimea arborelui de moștenire
- Cuplarea între obiecte
- Lipsa coeziunii metodelor
- Numărul descendenților
- Complexitatea ciclotomică
- Metricile clasei
- Metricile modelului
- Metricile pentru utilizare
Testarea software
- Ce, când și cum se testează?
- Metoda "white-box" și "black box"
- Rolea testării în metodologiile agile
- TDD doar un potențial creștere a costului proiectului
- Testare unitară cu JUnit (Java), PHPUnit (PHP)
- Teste comportamentale cu JBehave (Java), Behat și Mink (PHP)
- Teste funcionale
Refactoring
- Ce este refactoring?
- Datorie tehnică
- Smell de cod
- Patrii de refactoring
Documentare
- Rolul documentării în metodologiile agile
- Ce să se documenteze?
- Tipuri de documentare
- Documentarea și metodologiile agile, sau puteți spune (Software funcțional vs. documentare extensivă)?
- Standardul XMI
- Generarea automată a documentației din Javadoc (Java), ApiGen (PHP)
Ferramentă și mediu CI
- Ferramente și mediu CI
- PMD (Java), phpmd (PHP)
- CPD (Java), phpcpd (PHP)
- Counter Lines of Code (Java), phploc (PHP)
- UCDetector (Java), phpdcd (PHP)
- Jdepend (Java), phpdepend (PHP)
- Serviciul de integrare continuă Jenkins
Agile și CI/QA
- Planificarea și dezvoltarea incrementală
- Asumarea schimbărilor
- Etape scurte
- Echipa interdisciplinară
- Programarea extremă, revizuirea codului
- Persoanele și interacțiunile în detrimentul proceselor și uneltelelor
Sumeazări
- Discuție
- Întrebări
- Cum începeți procesul de implementare?
Cerințe
Cunoașterea proceselor de dezvoltare software
Mărturii (5)
Înțelegător și practic directă.
Balavignesh Elumalai - Scottish Power
Curs - SonarQube for DevOps
Tradus de catre o masina
Formatorul are o experiență profundă și este bine informat în acte. Profunzimea cunoștințelor și pasiunea pentru predare sunt foarte apreciate.
Anup Kumar - SMR Automotive Mirrors Stuttgart
Curs - Jenkins 2: Building CI/CD Pipelines
Tradus de catre o masina
Antrenantul a fost foarte bine organizat. El a explicat despre toate instrumentele necesare pentru formare în început. Antrenantul a răspuns cu plăcere la toate întrebările și s-au discutat cazuri practice.
Vivek Verma - Global Knowledge Network Training Ltd
Curs - DevOps Practical Implementation and Tools
Tradus de catre o masina
Foarte detaliat, antrenorul cunoaște foarte bine subiectul și a abordat multe teme
Gabriel Kelly Navarro - Opswerks
Curs - Advanced Spinnaker
Tradus de catre o masina
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!.
Tina Henderson
Curs - Test Automation with Selenium and Jenkins
Tradus de catre o masina