In our previous episode, Graeme Geldenhuys said: > Renaming existing units for one project that conflicts is not a > solution/option either.
Better than using unreadable prefixes or very long unit names. > On 24 July 2010 12:52, Marco van de Voort <mar...@stack.nl> wrote: > > > > Delphi dotted unit names are just a prefixes with a different separator > > char. Still, while no super solution, it would make duplication less likely > > (avg unitname would go up), and no ugly cryptic prefixes. > > Does FPC support dotted unit names? eg > freepascal.rtl.classes.pas > freepascal.fcl.simpleipc.pas > freepascal.fcl.fgl.pas No, and FPC's will remain the same anyway. > then fpGUI and LCL (and any other projects) could do similar.... eg: > > fpgui.button.pas > lcl.buttons.pas Nothing stopping you from using fpgui_button.pas now either. > Currently fpGUI already does something similar (as I stated before) by > prefixing all classes with 'Tfpg' and all units names are prefixed > with 'fpg_' eg: > > fpg_button.pas > fpg_grid.pas > > I did this to minimize any possible conflicts, but other projects have > not done this, so they stand a much greater chance to get conflicts > with FPC or other projects. I think that chance is overestimated, unless you use very familiar identifiers (like "buttons"). Typenames are less of a problem, since unit qualification can work around them. > I guess Object Pascal users will feel this is "weird" at first - I did > too with my change in fpGUI, but you soon get used to it. You can get used to live with only one leg yet. But I don't plan to start sawing because of that. Getting used to it is not a reason. > The benefits outweigh with temporary "weird" factor. I would probably > have preferred a "dotted" unit naming format, but I think last time I > tried, FPC didn't support a dotted unit name. I think the problem is blown up out of proportion, and the remedies draconical. But if you disagree, just use long unit names. > > Other solutions that really involve two .pas files with the same name need > > something to uniquely identify them. E.g. Java does this with the location > > in the classpath hierarchy, but I doubt we would go that far. > > Why not something like IInterface or IUnknown does by using a GUID > somewhere in the unit. Because if I think if a 3 letter prefix is draconical and unreadable, guess what my opinion about the userfriendlyness of GUID's is. GUIDs are for meant internal details, not for anything routinely handled by people. > But then comes the problem that not all editors can generate a GUID > via a keyboard shortcut - but then, how to they program with > Interfaces (so maybe a GUID is not a issue). And moreover, not all editors generate unique UIDs either. _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel