OganizationConventions » History » Version 4

« Previous - Version 4/9 (diff) - Next » - Current version
J. Wienke, 10/14/2011 03:29 PM


OganizationConventions

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

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.

JavaOuterClassName

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

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

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