This repository was archived by the owner on Dec 4, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
Goals
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
Instanceshould 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 avp_wait(), which should throw anInvalidOperationinstead. 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.