To ale nemusí moc vadit pokud to bude mikroservisa. Já bych definoval "funguje" tím, že to dělá co má a nemá to bezpečnostní bugy.
Často je ideální nechat to dožít a plynule přejít na něco zcela jiného - modernějšího.
Co funguje, to se neopravuje.
Co se nedá lehce upravit moc nefunguje.
Co nemá testy nefunguje.
Zasadni chyba. Prechod bude hodne bolet, protoze to stare ma v sobe zadratovane opravy chyb, ktere Vas pri "prepisu" nenapadnou a vzdy je potreba nejaka drobna uprava, takze budete reimplementovat "bezici cil" a vzdy, kdyz by byla vhodna doba "to" nahradit, tak tam bude neco chybet a odlozi se to a porad dokola.
Nejsem proti rewrite, ale je to risk, ktery nemusi vzdy vyjit, proto je lepsi postupna uprava existujiciho kodu.
Rewrite bych delal v pripade velkeho zasahu do architektury. e.g. immutable metadata, streaming misto vsechno nacti a pak s tim vsim neco udelej atd.
Vysledek rewrite muze byt taky ze budete myt na spravu projekty dva
, protoze se nekteri (obvykle ti nejlepe platici) zakaznici nehodlaji stareho kodu vzdat, protoze kolem toho udelali hromadu prace a konecne to po letech funguje k jejich spokojenosti
.