NAJLEPSZE STRATEGIE SKUTECZNYCH PROGRAMISTÓW. TECHNIKI PRACY Z KODEM KOD: NSKOD



Podobne dokumenty
Programowanie Zespołowe

Modelowanie i Programowanie Obiektowe

Wprowadzenie niektórych zagadnień OOP oraz wzorce operacyjne

SZKOLENIE TWORZENIE SYSTEMÓW

Zaawansowane programowanie w języku C++

PRZEWODNIK PO PRZEDMIOCIE

Podstawy modelowania programów Kod przedmiotu

Grzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki Promotor dr inż. Paweł Figat

Adaptywny kod : zwinne programowanie, wzorce projektowe i SOLID-ne zasady / Gary McLean Hall. Gliwice, cop Spis treści

Program szkolenia: Receptury testowania automatycznego - problemy, strategie, taktyki, techniki, narzędzia

Rok akademicki: 2012/2013 Kod: ZIE s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Wskazówki projektowe. Programowanie Obiektowe Mateusz Cicheński

Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1

Spring Framework - wprowadzenie i zagadnienia zaawansowane

Projektowanie obiektowe oprogramowania Wykład 4 wzorce projektowe cz.i. wzorce podstawowe i kreacyjne Wiktor Zychla 2017

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2012/2013. Przedmioty kierunkowe

Program szkolenia: Zaawansowane programowanie w C++

Program szkolenia: Wzorce projektowe i ich implementacja w C# oraz testowanie automatyczne

Programowanie w Javie nazwa przedmiotu SYLABUS A. Informacje ogólne

Informatyka I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny) stacjonarne (stacjonarne / niestacjonarne)

Scala - programowanie obiektowo-funkcyjne

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2012/2013

Techniki efektywnego testowania kodu dla programistów Java (Spock

Całościowe podejście do testowania automatycznego dla programistów. (TDD, BDD, Spec. by Example, wzorce, narzędzia)

Full Stack JavaScript z Angular i Nest. Dni: 5. Opis: Adresaci szkolenia

Wykład 7. Projektowanie kodu oprogramowania

Program szkolenia: Test Driven Development (TDD) using Spock or JUnit 5

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

Egzamin / zaliczenie na ocenę*

Podstawy Programowania Obiektowego

Specjalnościowy Obowiązkowy Polski Semestr 5

Programowanie obiektowe

Testowanie aplikacji mobilnych na platformie Android - architektura, wzorce, praktyki i narzędzia

Wykład 4. Projektowanie. MIS n Inżynieria oprogramowania Październik 2014

PRZEWODNIK PO PRZEDMIOCIE

KARTA PRZEDMIOTU. Projekt zespołowy D1_10

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Programowanie II C10

Naturalny Porządek Refaktoryzacji Java Developer Days 2012

Kod doskonały : jak tworzyć oprogramowanie pozbawione błędów / Steve McConnell. Gliwice, cop Spis treści. Wstęp 15.

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Projekt zespołowy D1_10

Programowanie obiektowe

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

Wykład Ćwiczenia Laboratorium Projekt Seminarium

E-1EZ1-03-s2. Elektrotechnika I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

Rok akademicki: 2014/2015 Kod: IEL s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas

E-1IZ3-06-s6. Inżynieria Programowania. Informatyka. I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

A. USYTUOWANIE MODUŁU W SYSTEMIE STUDIÓW

PRZEWODNIK PO PRZEDMIOCIE

Praktyczne zastosowanie bibliotek Boost oraz nowego standardu C++11

PRZEWODNIK PO PRZEDMIOCIE

E-ID1S-08-s5. Informatyka. I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Rok akademicki: 2013/2014 Kod: STC s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Feature Driven Development

Programowanie obiektowe 1 - opis przedmiotu

Programowanie obiektowe - 1.

PRZEWODNIK PO PRZEDMIOCIE

12) Wadą modelu kaskadowego jest: Zagadnienia obowiązujące na egzaminie z inżynierii oprogramowania: 13) Wadą modelu opartego na prototypowaniu jest:

Zwinna współpraca programistów i testerów z wykorzystaniem BDD i. by Example (JBehave/Spock/SpecFlow)

Całościowe podejście do testowania automatycznego dla programistów. /C#/PHP (TDD, BDD, Spec. by Example, wzorce, narzędzia)

Rok akademicki: 2012/2013 Kod: EAR s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

K_W04 K_W04 K_W04. Opis

Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków

Wzorce projektowe. dr inż. Marcin Pietroo

Rok akademicki: 2012/2013 Kod: JFM s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

Program szkolenia: Wzorce projektowe w C++

Informatyka I stopień (I stopień / II stopień) ogólno akademicki (ogólno akademicki / praktyczny) niestacjonarne (stacjonarne / niestacjonarne)

KARTA PRZEDMIOTU. Tworzenie bezpiecznego kodu D1_13

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

TWORZENIE I TESTOWANIE TEST-DRIVEN DEVELOPMENT APLIKACJI Z UŻYCIEM KOD: TDD

Gry społecznościowe. wykład 0. Joanna Kołodziejczyk. 24 lutego Joanna Kołodziejczyk Gry społecznościowe 24 lutego / 11

PRZEWODNIK PO PRZEDMIOCIE

Programowanie obiektowe

Problemy projektowania obiektowego. Czy podobne problemy można rozwiązywac w podobny sposób?

Program szkolenia: Tworzenie aplikacji w Ruby on Rails z wykorzystaniem zwinnych metodyk

E-2IZ1-03-s3. Informatyka I stopień (I stopień / II stopień) ogólno akademicki (ogólno akademicki / praktyczny)

Programowanie obiektowe

Receptury - niezbędnik projektanta i architekta

WYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja. Nazwa przedmiotu: Język programowania C++

Dobry start do profesjonalnego programowania w C++ dla. początkujących programistów

Automatyka i Robotyka I stopień (I stopień / II stopień) ogólno akademicki (ogólno akademicki / praktyczny)

KARTA PRZEDMIOTU. Programowanie wieloplatformowe, D1_1

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 1

KARTA PRZEDMIOTU. Warsztaty z Ruby on Rails. Ruby on Rails Workshop

Semestr letni Brak Tak

Projektowanie obiektowe oprogramowania Wykład 4 wzorce projektowe cz.i. wzorce podstawowe i kreacyjne Wiktor Zychla 2015

Wykład VII. Programowanie III - semestr III Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Rok akademicki: 2016/2017 Kod: JFT s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE

KARTA MODUŁU KSZTAŁCENIA

KARTA PRZEDMIOTU. Projektowanie systemów czasu rzeczywistego D1_13

Projektowanie obiektowe oprogramowania Wzorce architektury aplikacji (2) Wykład 10 Inversion of Control Wiktor Zychla 2013

Elektrotechnika I stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny) Kierunkowy (podstawowy / kierunkowy / inny HES)

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:

Omówienie wzorców wykorzystywanych w Prism 5.0. Dominika Różycka

Podstawy programowania.

Projektowanie obiektowe oprogramowania Wykład 4 - SOLID GRASP Wiktor Zychla 2012

Transkrypt:

NAJLEPSZE STRATEGIE SKUTECZNYCH PROGRAMISTÓW. TECHNIKI PRACY Z KODEM KOD: NSKOD

OPIS Praca programisty oprócz umiejętności i wiedzy technicznej, wymaga również doskonałej pracy z kodem. Umiejętności te są często marginalizowane, gdyż liczy się ostateczny efekt działający system. Jednak tworzenie oprogramowania to bardzo złożony proces i elementarna jakość stworzonego kodu jest kluczowa podczas rozwijania systemów. Szkolenie to dotyczy technik tworzenia czytelnego, łatwego do utrzymania kodu w oparciu o metody obiektowe. PROFIL UCZESTNIKA Programista: chce świadomie i efektywnie tworzyć kod; chce świadomie i efektywnie utrzymywać kod; chce optymalnie wykorzystywać możliwości udostępniane przez współczesne języki programowania. KORZYŚCI ZE SZKOLENIA 1. Programiści optymalnie wykorzystują czas poświęcony na pracę ponieważ używają efektywnych metod tworzenia kodu. 2. Czas poświęcony na rozwiązywanie problemów ulega skróceniu programiści, dzięki zwiększonej samoświadomości w tworzeniu kodu, potrafią wykształcać u siebie nowe nawyki i sposoby postępowania poprawiające efektywność pracy. 3. Programiści mają większą motywację do pracy gdyż używanie technik daje poczucie kontroli nad tworzonymi rozwiązaniami, a w konsekwencji większe zadowolenie w wykonywanej pracy. 4. Zmniejsza się koszt realizacji projektów dzięki zwiększeniu efektywności pracy programistów. 5. Zmniejsza się koszt utrzymywania i rozwijania aplikacji ponieważ programiści tworzą oprogramowanie wysokiej jakości.

PARAMETRY SZKOLENIA Czas trwania: 3 dni 24 godzin. Forma zajęć: Laboratorium Efektywności Programisty - 60%, wykład 40%. Wielkość grupy: do 10 osób. SZCZEGÓŁOWY PROGRAM Moduły szkoleniowe Nabyte wiedza i umiejętności, poruszane zagadnienia Idea Software Craftsmanship Software Cratsmanship Koszt kiepskiego kodu Efektywność pracy z kodem Kiedy kod jest naprawdę obiektowy Zasada SOLID Kompozycja a dziedziczenie Programowanie obiektowe Odpowiedzialność klas, metod, pakietów, modułów Czego można się nauczyć z wzorców projektowych Inversion of Control oraz Dependency Injection Modele architektoniczne Architektury wielowarstwowe Poprawnie zdefiniowana klasa Hermetyzacja i izolowanie zmian Klasy i ich stan Nazywanie klas i metod Kiedy używać interfejsów i klas abstrakcyjnych Wzorce implementacyjne: Value Object, Implementator, Contitional, Delegation, Pluggable Selector, Library Class

Przechowywanie stanu Wzorce implementacyjne: Direct Access, Indirect Access, Collecting Parameter, Optional Parameter, Eager Initialization Antysymetria danych i obiektów Prawo Demeter Data Transfer Object Reguły tworzenia czytelnych nazw Nazwy a dziedzina problemu Nazwy a kontekst Małe funkcje Jeden poziom abstrakcji Czytelność kodu Argumenty funkcji i zwracany typ a nazwa funkcji Efekty uboczne Zapytania i polecenia Don t Repeat Yourself Czy komentarze są potrzebne? Zen tworzenia komentarzy Komentarze a refaktoryzacja Wyjątki a wyniki zwracane Kontrolowane czy niekontrolowane wyjątki? Obsługa sytuacji wyjątkowych Tworzenie hierarchii wyjątków Obsługa referencji null Dostarczanie kontekstu Praktyki tworzenia konstrukcji try-catch-finally Test-Driven Development - rewolucja w programowaniu TDD W TDD nie chodzi o testowanie Red-green-refactor czyli TDD w 15 minut

Zasady tworzenia testów jednostkowych Jak utrzymywać testy? Idea refaktoryzacji Cztery podstawowe techniki refaktoryzacji Refaktoryzacja Techinka dekompozycji algorytmu Małe kroki Kiedy refaktoryzacja jest opłacalna? Refaktoryzacja w projektach odziedziczonych