Clean code fundamentals

Svako može da napiše kod koji računar može da razume i izvršava, ali samo profesionalni programeri mogu da napišu kod koji i čovek može da razume. Da li ti pišeš kod koji je razumljiv drugima?

Sigurno svakog dana imenuješ promenljive, kreiraš petlje, rešavaš probleme na funkcionalnom nivou. Većina ovih poslova su postali rutina i o njima ne razmišljaš previše. A da li si se ikad zapitao/zapitala da li ih radiš na pravi način? Ako samo ti možeš da rastumačiš nazive svojih promenljivih i ako je samo tebi tvoj kod jasan, onda dalji rad na tvom kodu može postati noćna mora, čak i za tebe posle nekog vremena.

Hajde da ovo popravimo i naučimo osnove kreiranja kvalitetnog softvera.

Gde možeš da naučiš kako da pišeš bolji kod?

Na treningu koji organizuje Code Tailor možeš da naučiš da budeš profesionalac u svom poslu. Drugim rečima, cilj ovog treninga je da naučiš da pišeš bolji kod koji i drugi programeri mogu razumeti. Jednom kada to naučiš, sopstveni kod ti neće biti misterija kada mu se ponovo vratiš nakon 6 meseci ili godinu dana, a tvoje kolege će lako moći da uskoče i pomognu ili nastave tvoj posao ako zatreba.

Kome je trening namenjen?

Trening je namenjen zaposlenim osobama, studentima i svima ostalima koji se na bilo koji način bave programiranjem. Ukoliko imaš želju da unaprediš svoja bazična znanja kako bi kod koji stvaraš bio kvalitetniji i razumljiviji onda baš ti treba da dođeš na ovaj trening.

Šta ćeš naučiti na treningu?

Na treningu ćeš naučiti da…

  • … ispravno imenuješ promenljive, funkcije i klase
  • … ispravno komentarišeš kod tamo gde je to potrebno
  • … pišeš jednostavne i razumljive funkcije
  • … struktuiraš klase na osnovu njihove funkcionalnosti
  • … razumeš i primenjuješ osnovne principe programiranja

Sadržaj treninga

Clean code introduction

  • Šta je Clean code?
  • Zašto je Clean code bitan?
  • Clean code karakteristike: readability i maintainability
  • Clean code metrika – Time to understand
  • Izviđačko pravilo

Functions

  • Smallness
  • The Step-down Rule
  • Do One Thing
  • Extract till you Drop
  • Avoid Switch Statements
  • Arguments: Good and Bad
  • Side Effects
  • Command-Query Separation
  • Exceptions
  • Tell-Don’t-Ask
  • Code Duplication
  • Structured Programming

Formatting

  • Vertical formatting
  • Horizontal formatting

Programming principles

  • DRY
  • KISS
  • YAGNI
  • SoC – Separation of Concerns
  • CQS – Command/Query Separation principle
  • Encapsulation and information hiding
  • Law of Demeter

Naming

  • Scope length rule
  • Revealing intent
  • Ubiquitous Language
  • Avoid disinformation
  • Avoid encodings
  • Meaningful Distinctions

Comments

  • Comment purpose
  • Example of good comments
  • Examples of bad comments

Object calisthenics

Šta je potrebno za praćenje treninga?

Potrebno je da imaš osnovna znanja iz programiranja u nekom od programskih jezika (C/C++, Java, C#, PHP, JS, Ruby, Python…)

Struktura treninga

Trening se održava vikendom:

  • Subota od 10:00 do 18:00
  • Nedelja od 10:00 do 18:00

Trening se sastoji od teorijskog dela sa primerima iz prakse koji objašnjavaju kako treba i kako ne treba pisati kod. Trening će biti upotpunjen vežbama koje pomažu da se predstavljeno gradivo lakše usvoji.

Trening će biti održan na srpskom jeziku, ali će primeri biti dati na engleskom jeziku.

Mesto i termin održavanja

21. i 22. DECEMBAR 2019.
Novi Sad

Polaznici treninga biće naknadno obavešteni o tačnom mestu održavanja treninga.

Cena treninga

Cena kotizacije iznosi 26,000.00 dinara.

Za grupne prijave (dvoje i više učesnika), kao i za studente odobrava se popust od 10%. 

Kotizacija pored učešća obuhvata štampani materijal, osveženje i sertifikat.

Prijavi se

Svoju prijavu na trening, dodatna pitanja, upit za više informacija ili nešto treće, možeš poslati na sledeću email adresu:

info@codetailor.rs

Predavač

Aleksandar Sabo

Programer sa 20+ godina iskustva u industriji. Tokom svoje karijere radio je na razvoju različitih proizvoda za profesionalne sportiste, projekt menadžere, WP korisnike, odgajivače ruža i druge agro biznise. Susretao se sa različitim klijentima i projektima i uvek pronalazio način da ostane profesionalac.