Hi. First of all I would like to say that I think the codestyle debate should spread across to dynamic templates, external tools, and external resources.
Carlos' suggestions seem like a little bit of overkill to me. But not without their merits. Although I agree that codestyles should be linked to projects they should not be in the actual project. Any one codestyle should exist only in one location. Otherwise when ever a code style specs are changed you have to visit every project to update them. I think all this could easily be solved by setting a location for a shared config and a personal config directory. then every group of developers can manage that as they wish: throw it into source control, replicate it to everyone's box, put it on shared drives etc. Then in each project you can associate the shared styles, templates, external tools, and resources you want/need. Florian Hehlen -----Original Message----- From: Carlos Costa e Silva [mailto:[EMAIL PROTECTED]] Sent: 14 August 2002 05:17 To: [EMAIL PROTECTED] Subject: [Eap-features] Re: Codestyle on network drive It's time for a discussion on what should be done on codestyles, I haven't seen yet any post by anyone at jetbrains about this. It would be useful to know their thoughts on this (in Ariadna and maybe on the next versions). After all the postings about this, here's my view on a implementation: 1. Codestyles should migrate from ide options to project options: codestyle is a project property. 2. The default project has the list of available codestyles in *this* computer the default codestyles are permanently stored in the config dir, the same as now. (By the way, the config dir should be placed inside the system dir, so that it's in a read write place). 3. The current project has an assigned codestyle. A copy of the codestyle is stored inside the project file. If the project is moved/copied/checked out/etc, the codestyle goes with it. !!! The codestyle inside the project file is the one used for code layouts, optimize imports/etc. !!! Having the codestyle inside the project file is the simplest way to ensure the project one codestyle and it's also a simple way to distribute the codestyle to new users/installations/etc. Note that the codestyle list could continue on IDE options, but moving it to the default project makes only one interface for maintaining codestyles. 4. For projects with one codestyle per user, the current project has an option "no codestyle". In this case, the default project codestyle is used for code layouting, etc. 5. Action to synchronize codestyles between the project and the defaults: another user may have changed the style in the current project or a default codestyle has changed and should be applied to several projects. Codestyles should have a timestamp so that the we can know which codestyle is obsolete. 6. Import codestyle command: if the codestyle exists only in the project, it's imported to the list of codestyles existing in the computer. This, I think :-) is the minimum implementation necessary. Optional: 7. IDE option "autocheck codestyle timestamps": when the project is opened idea compares timestamps ands asks the user if he wants to synchronize codestyles. Further options which I don't need implemented - after all, my projects have mandatory codestyles :-) Simple: 8. Startup option "-Didea.codestyle.path=path_to_codestyle.xml" to have the codestyle reside wherever the user wants. This makes it possible for users to share codestyles without having the codestyle inside the project file (for places with multi styles per project). Complicated: 9. Automatic code layout with project codestyle before commit to repository and before diffs. Automatic code-layout with codestyle on default project on checkout/update from repository. An IDE option to control this would be necessary. No reformat should be done if both styles are the same (including the timestamp). And that's all folks. I think I'll take some holydays, so that I'll not be burned with all the flames :-) Carlos -- Carlos Costa e Silva <[EMAIL PROTECTED]> _______________________________________________ Eap-features mailing list [EMAIL PROTECTED] http://lists.jetbrains.com/mailman/listinfo/eap-features Visit our website at http://www.ubswarburg.com This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from your system. E-mail transmission cannot be guaranteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. This message is provided for informational purposes and should not be construed as a solicitation or offer to buy or sell any securities or related financial instruments. _______________________________________________ Eap-features mailing list [EMAIL PROTECTED] http://lists.jetbrains.com/mailman/listinfo/eap-features
