pondělí 7. března 2022

Přidávání funkcionality

Dnes bych chtěl vyprávět příběh o tom, co může nastat, pokud vývojář přidá funkcionalitu. Mám na mysli funkcionalitu, která sice v analýze nebyla, ale dává smysl.

Konkrétně šlo o komponentu zobrazující seznam dokumentů. V analýze bylo popsáno, že na obrazovce bude tlačítko přidat novou verzi. Tlačítko přidat novou verzi se bude zobrazovat u dokumentů ve stavu X. Když uživatel přidá novou verzi, změní se stav dokumentu z X na Y. Kromě toho může uživatel přidávat další dokumenty a to tlačítkem přidat dokument. Přidaný dokument bude ve stavu Z.

Vývojáře napadlo, že když už má tlačítko pro přidání nové verze, mohlo by se zobrazovat u všech dokumentů. Bude to koneckonců hezčí. Takže ve výsledku měl i dokument ve stavu Z tlačítko přidat novou verzi. Vypadalo to lépe, v rámci dané komponenty to ničemu nevadilo. Tlačítko fungovalo naprosto stejně u dokumentu ve stavu Z jako u dokumentu ve stavu X. A to včetně toho, že došlo ke změně stavu na stav Y. Takže byl vytvořen nový přechod ze stavu Z do stavu Y s kterým nikdo nepočítal a nikdo se ani nezamyslel, co se stane pokud tahle situace nastane.

V dalším kroku procesu na jiné obrazovce se bude pracovat s dokumenty ve stavu X a Y. Oproti dokumentům Z mají mít dokumenty ve stavu X vyplněné nějaké další atributy se kterými se na této obrazovce počítá. Dokumenty ve stavu Y mají mít vyplněné stejné atributy jako dokumenty ve stavu X, protože vznikají z dokumentů ve stavu X nahráním nové verze. Tuhle obrazovku vyvíjí jiný vývojář a zatím je tam záhadná chyba, zpracování některých dokumentů ve stavu Y stále končí chybou...

Žádné komentáře:

Okomentovat