From: Aaron P. <ap...@cm...> - 2003-05-12 23:31:01
|
Here's an idea I've been thinking about for a while. One problem with using sheets with other developers is that we Sheets developers really want to use Sheets dump files, because it's such a rich format -- it saves all the hierarchies of files, fragments, etc., puts in separators, and all sorts of neat stuff. But other developers who don't use sheets just won't develop on a project at all if we use dump files as our official, CVS-checked-in format*. One argument to use dump files anyway is that would encourage more developers to switch to sheets. But that's a Microsoft-monopoly argument -- there's so many development environments and some programmers are so entrenched, they really won't want to switch. So what if we make sheets work well without dump files? There's a way to do this -- here's a couple tricks: 1) Get rid of the exports list for a class and export in the order users have organized their fragments. 2) Turn separators into /* ---------------------------------------------------------- */ and parse them back out into separators when they come back in 3) Use comments to show where fragments go in the hierarchy of sheets -- at the beginning of a fragment, show a /* This Method's hierarchy: Project Sheets -> Util Package -> CollectionUtils -> Collection Utils Mouse Listener Stuff */ (I only made up the last sheet name -- otherwise it's a real hierarchy) This makes it human-readable and I think it has all the info that's in Sheets dump files. There's also a bug you mentioned with dump files that CVS and diffs eventually work poorly on large ones -- I dunno if you fixed that, but it wouldn't be a problem if something like this happened. Of course, CVS merges would be harder because people can move methods around, but that's just where CVS starts failing, not Sheets. I think this might be the way Sheets should evolve. Of course, it's a tremendously large leap and requires a ton of changes to the code. * Of course, sheets dump files are just fine for the Sheets repository where people are working on sheets - Aaron |