Megfontolásra érdemes vita kerekedett ki a Thinking In Java blogon. A vita alapja, hogy egy elnevezési konvenció szerint az interfész osztályokat akár IFoo néven illethetjük, mint Interface Foo. A blog vitaindító cikke szerint ez egy elavult és rossz dolog (lásd még Hungarian notation). A cikkre természetesen jött egy ellenkező tartalmu válasz, amely igen éles vitát generált... ebben az első reakcióban a lényeg az, hogy ha az interfész neve Foo, és az implementáció neve FooImpl az miért rosszabb, mint az IFoo és a Foo név...
Mindenki döntse el maga... :)
Page
viewed times
4 Comments
Karnok Dávid
Talán IFooImplSpi! De általában nem szoktam Foo-nak nevezni egy interfészt. Inkább *able, *tor stb. Pl. legutóbb csináltam egy interfészt "Persistence" néven, és hozzá két referencia implementációt DbPersistence, FilePersistence. A C#-ban gyakori, pl. IEnumerable, vagy Delphi-ben az IUnknown, IInterface stb.
Viszont engem rendkívül idegesít az ilyen Impl végü implementációk. Pl. a DocumentBuilderFactoryImpl.Talán azért, mert egyszer találkoztam egy ilyen nevű interfésszel!
tvik
Egyébként a jó öreg "Hungarian Notation" a második űrhajósunk, Charles Simonyi nevéhez fűződik.
Böszörményi Péter
Latom, megint sikerult a lenyeget megfogni. Javaslom kovetkezo vitapontnak Duke orra szinet. Maradjon piros, vagy legyen inkabb kek? Barcsak en is ennyire unatkozhatnek.
Bence Erős
Nálam inkább Foo - FooImpl szokott lenni, de általában csak addig, amíg csak egy implementáció van. Ha több, akkor inkább átnevezem DefaultFoo -ra aztán a többi implementációnak meg valami beszédesebb *Foo -t találok ki. Persze ez se biztos, hogy jó így