Tests should be right next to the code

It is a common practice to put your tests apart from the actual code of the application, usually into the tests folder. In this article, I explain why I see it as a bad practice and why you should always put them right next to the code they are testing.

en 18. 9. 2018
PHP

Via ferraty v okolí Arca 2018

V okolí Arca na ferratách jsem byl již podruhé. Tentokrát jsme nebydleli v kempu v Arcu, ale pronajali jsme si přes booking.com domek na úpatí hory nad Arcem. Cenově to je jen o trochu dražší než camp dole v Arco a luxus nesrovnatelný (pěkná sprcha, zahradní posezení s výhledem, krb na grilování,…). Vylezli jsme šest ferrat a zablbli si na windsurfech na Gardě.

cs 5. 8. 2018
Traveling

Dangerous implementations of time representation in today's programming languages

Many programming languages have some kind of object to represent time. In PHP it's DateTimeImmutable, in JavaScript it's Date. Python has it's datetime.datetime. All of them were designed in such a way, that they contain timezone as part of their time representation. And what's dangerous, they expose it (mostly directly via a method).

In this article, I will explain why it poses a danger to you and propose a technique to avoid it.

en 8. 5. 2018
PHP

Od-do a jiné intervaly jako matematické value objecty

Velmi často se s intervalem pracuje tak, že se prostě předají dvě hodnoty: dva parametry do funkce, dvě proměnné, nebo prostě "pole" o dvou položkách.

Tento přístup ale trpí dvěma neduhy:

  1. Předávání dvou objektů nezaručuje validitu intervalu.
  2. Operace nad intervalem vyžadují vlastní netriviální implementaci.

Řešení je snadné: interval vždy reprezentovat jako value object.

cs 24. 6. 2017
PHP

Jak na API (v PHP) bez controllerů

Skoro každá backendová aplikace má nějaké to API. Mnoho backendových aplikací dnes už komunikuje jen přes něj. Server-side rendering je na ústupu a frontendu vládnou aplikace v browseru a v mobilních aplikacích.

Jak tedy napsat dobře (v PHP) API? Tradiční způsob je použít důvěrně známé controllery/presentery a upravit routování. Proč to není nejlepší přístup a jak to zmáknout lépe.

cs 12. 1. 2017
API PHP

Testování PHP kódu

Testování aplikací není vždy tak snadné, jak se na papíře jeví. Svojí zkušeností jsem dospěl k několika zásadám a postupům, které se mi osvědčily a které se tu pokusím sepsat a částečně i zdůvodnit. Pomáhají mi k psaní čítelnějších a udržovatelnějších testů. Za hlavní přínos pak považuji snadnou rozšiřitelnost testů, jejíž potřeba přichází s rozšiřováním fukcionality projektu.

cs 6. 12. 2016
Testing PHP

Ohlédnutí se za prací pro DámeJídlo

Více než rok jsem se podílel na vývoji Dámejídla. Seznámil jsem se s Doctrine 2, naučil se hodně o testování a nadchl jsem se pro čistý kód.

S odstupem času se pokusím zhodnotit co mi práce pro Dámejídlo dala a co naopak dát nemohla.

cs 2. 12. 2016
DámeJídlo.cz