This is the project page for jian cha, a project to build a code review system based on trac and subversion.
The concept of jian cha is to create a technical solution to the typically painful manually managed process of code reviews present in most organizations. In the past we have seen code reviews range from being managed through mailing lists, issue tracking systems (such as bugzilla), and even meetings with groups of team members. In addition to the pain of managing and tracking reviews without a specialized tool to do so, most review processes rely entirely too much on human action. In most organizations it seems to be impossible to track a change back to the thread of conversation which surrounded it, making auditing or finding the explanation for a specific change all that much more difficult.
Jian Cha is an attempt to address this issue by putting in to place an automated system in which reviews are created automatically when attempting to make a change which fits a given criteria. Reviews would then take place through a community web interface (as an extension of trac) allowing reviewers to see the changes in their context within the files they effect. Threads of discussion can then be created regarding each individual change (through an interface vaguely similar to that described by the existing but unsatisfactory peer review plugin) and a series of resubmissions of the change set may take place, all without affecting the actual repository. Once a change is approved by the criteria defined in the review process, the change would be committed to the repository (assuming it has not gone stale).
- Work with a reasonable amount of cross-browser support (for modern browsers only)
- Web Admin-able server deployment
- Simple client deployment
- Clean and flexible code base, of course
- Use standardized means of interaction (SOAP/XSLT for client/server interaction, unified diff for change transfer, etc)
- Low ceremony employment
- Sarbanes Oxley compliance
- Interactive easy to use interface
- Simple submission process
- Being able to enforce a flexible amount of automated criteria
- To employ some form of the SDLC commonly used in business to an open source project to ensure satisfactory completion
- Round up a suitable level of community support to reduce development time
- Deliver a stable, professional product suitable for use in an enterprise organization
To do list
- Requirements Gathering
- Functional Specification
- Research Results
- Technical Specification
检查 zh'i'an-cha v. to review