OganizationConventions » History » Version 4

Version 3 (J. Wienke, 10/13/2011 11:29 AM) → Version 4/9 (J. Wienke, 10/14/2011 03:29 PM)

h1. OganizationConventions

_These conventions are in brainstorming staging. Feel free to add any thoughts or suggestions._

h2. Naming

* Do not include artifacts of the current communication pattern for one type. I.e. if you currently send events of images, your type must not be @ImageEvent@, but solely @Image@, as the @Image@ type might later be reused in an RPC communication.

h2. JavaOuterClassName

* Will always be @<file name w/o ext>Type@

h2.
Directory Layout

The current policy for filenames of data definitions in RST is as follows:
* The directory (relative to the "proto" directory in the project root) in which the proto-file resides should match the package name with all "."s replaced with "/"s
* The filename should match the name of the "primary" message definition (with ".proto" appended)
* There should only be one "primary" message definition in each proto-file
** Groups of related messages should reside in individual files and refer to each other using @import@
* directory names are all lowercase

h2. Rationale

* Facilitate easy documentation and reuse via @import@
* Data definitions can be treated as resources with unique URLs
** These URLs can be derived from a qualified message name
E.g. @.rst.ImageMessage -> https://code.cor-lab.org/svn/rst/trunk/proto/rst/ImageMessage.proto@