Skip to content
This repository was archived by the owner on Dec 4, 2018. It is now read-only.
RoyCurtis edited this page Apr 21, 2014 · 3 revisions

These goals have been outlined to help me guide libVPNET's development. They may be changed if better goals or methods are found.

  • Stable - A stable design must be set in stone before a public release and then future versions should not deviate from such design, only by adding or fixing functionality.
  • KISS - The library must be very simple for the developer to use. It should be understandable without documentation or without the use of advanced concepts, such as DSL (domain-specific language). No idiosyncratic behavior.
  • Tidy navigation - The library should not be broken up into namespaces. Objects such as the Instance should not have a large list of members.
  • Well documented - Documentation is most important for a library, especially when dealing with Virtual Paradise's unusual paradigms (virtual world objects, "querying", etc).
  • Good exceptions/pitfall protection - The C SDK has pitfalls such as issues with calling vp_wait() within a vp_wait(), which should throw an InvalidOperation instead. C SDK methods also use return codes, which should be converted to a more helpful exception object so that programmers may more easily accommodate for issues.
  • Always up-to-date and working - The SDK should be fully updated to support all the latest (relevant; see below) features and each feature should be fully working as expected by the user and documentation. This should be supported by unit testing.
  • Do not provide unsupported features - e.g. the C SDK has methods and events for "friends", which is only used for VP browser clients.
  • Deviate from C SDK if needed - The library should not try to go above and beyond the call of duty by, for example, maintaining a list of in-world avatars in memory. But if, for example, an C SDK design is idiosyncratic, the library should try to fix that.

Clone this wiki locally