Byť by mě zajímalo, jak by se mu automaticky vyřešil případ, že někde přijímá objekty dvou typů se stejným rozhraním a najednou se mu u jednoho typu to rozhraní přejmenuje.
Pokud mají shodou okolností podobné názvy metod, ale nemají explicitně řešeno "implements XYZ", pak se na to nemohu spolehnout a v javě neimplementují stejné rozhraní.
Stačilo říct, že to to IDE neumí a selže na tom. Takže si tak upravíš tisíce souborů a potenciálně způsobíš tisíce chyb. Tedy u reálné produkce, kde o něco jde, tě teď čeká důkladné testování, než si to všechno ověříš a nebo jsi amatér a pustíš to jen tak. Což je asi tvůj případ.
V čem se mýlí je, že tuto činnost považuje za správnou a žádoucí. Připodobnil bych to otvírání dveří hrubou silou, vyrážením. A byt kde se vyráží dveře těžko je špatný, protože vyrážet dveře je normální a je to potřeba dělat často.
Ano, možnost jednoduchého přejmenování považuji za zcela klíčové. Mraky chyb vzniká špatným pojmenováním, řeším je každou chvíli, a aktuálně správné názvy jsou zásadní. Když na projektu dělá víc lidí (což asi není tvůj případ), špatným názvům se nedá vyhnout a pokud má projekt tu obrovskou výhodu, že si to může dovolit (narozdíl např. od libc nebo kernelího API), je potřeba je opravovat. Navíc se významy v čase posouvají, jak se mění požadavky. Je to úplně normální. Pokud dáváš názvy na první dobrou i s výhledem na 10 let dopředu, jsi bůh. Ale spíš si tipuji, že nic takového neděláš a tedy logicky nepotřebuješ.
[/quote]
Je-li to známka božství, jsem bůh. Protože nepotřebuji měnit rozhraní ani u starších projektů. Ale hlavně, dynamický jazyk je flexibilní, u něj můžeš definovat rozhrání obecně, můžeš použít návrh shora. A když to máš navrženo, začneš to implementívat. Postup je opačný, implementace se přizpůsobuje názvu, tedy předem definované architektuře systému. Že se ti mění v průpběhu času funkce tříd a metod zase ukazuje ná amatérský přístup. Je to zase stejné, jakoby se funkce printf() v průběhu času měnila. Může se měnit její implementace, ale nikdy její funkce. Tak se správně programuje. Vy to tak neděláte?
Samozřejmě návrh architektury rozsánlého systému nemůže dělat jen tak někdo, každý druhý nezkušený řadový programátor. To je oblast pro ty nejzkušenější a nejlépe placené. Když to dělá amatér, tak se pak nestačí divit, kolik toho nedomyslel a jak se mu to rozpadá pod rukama a jak to potřebuje pořád předělávat.