Coding / Checkin Guidelines
- Don't add features until you have need for them. Since this is open source, there are no specific features that will definitely exist, so don't write code that anticipates other work. The chances that when a feature is implemented, it matches your interface are slim.
- If you possibly can, write unit-tests for code at the same time as you implement it. This is a very hard point to follow, but pays great dividends in the long term.
CVS Checkin Guidelines
Stage is a development server (at the time of writing), and CVS is development medium. Furthermore, longer intervals between commits complicate merging and mae tracking progress harder. Neverthless, please try to observe some basic points before committing code.
He (or she) who breaks the build, goes back to the house of pain. It sounds obvious, but it's worth restating: never leave the code in an un-compilable state, or you waste the time of other developers. If you're working on such a large change that this is unfeasible, maybe it's time consider a CVS branch.
Extending the above point : try to verify that at least one other person can compile your changes after you commit. The odds that you can't find someone on IRC to do an update and compile are very slim. If you can catch platform or compiler issues this way, you avoid lots of 'works for me' hard-scratching for others.
Test your changes! Some basic tests are listed below, but common sense applies. As Stage matures, automated regression tests should make this less of a problem (and catch violators), but at present we're relying on honesty and sweat. Notably, test your code with multiple clients; preferrable three, since two is just a special case of one
Smoke-Tests
As a wise man once said, Where there's smoke, there's fire.
We don't have a tinderbox for Stage yet, but let's pretend we do. The following tests are intended as things you can quickly do prior to checking in a major change, to verify everything is still working. Please suggest additions! Try to test with multiple kinds of clients, multiple copies of clients, multiple characters, new characters, old characters, etc, etc.
- Home
- -
- About
- -
- Introduction
- -
- FAQ
- -
- Team
- -
- Newbie Guide
- -
- Getting Started
- Editing Guide
- -
- Edit
- -
- Manage
- -
- New Page
- -
- Changes
- -
- Map
- -
- Password
- -
- Deprecation