Purpose of API Reviews
The API Review is an interactive online process that provides architecture review of a feature, change in code or anything else that can influence the way NetBeans modules work and behave when assembled together to form an application.
The goal of the API Reviews is to supervise the architecture of NetBeans IDE and other products based on NetBeans and provide help and suggestions by during the reviews. In some way this is a NetBeans way of doing review before integration. The result of a review can be a suggestion to choose different solution, improve the implementation methodologies, development techniques or documentation.
The goal is to encourage the developers to look at their work from point of view of their customers including end users, developers building upon their libraries (that is the reason for strong emphasis on usecases) we apply our knowledge gained from maintaining NetBeans for past ten years to make the archictecture more sound and more maintainable. The goal usually is not to do code reviews. Subject to review are usually aspects visible externally. However sometimes a review can suggest better algorithms or internal data structures if there are for example performance implications.
How to Get Involved?
The requests for reviews are entered as regular issues into our bug tracking system. They should be marked with keywords API_REVIEW or API_REVIEW_FAST and that is why it should be easy to query for them. Moreover each review is started by CCing or reassigning the issue to firstname.lastname@example.org which automatically sends an email to email@example.com mailing list. That is why subscribe to firstname.lastname@example.org mailing list or observe What is currently happening? query that lists all issues that contain the API_REVIEW or API_REVIEW_FAST keyword and are active, e.g. they were modified during last fourteen days.
The mailing list receives not only before commit notifications but also daily notifications of what is happening in the codebase by using the verification framework. This includes changes in files layout, public packages, signatures of various API classes, module dependencies, etc. If you want to get daily notification about the general changes being made, this is the source of information you have been looking for as the mailing list allows to observe the current state of the NetBeans codebase.
Reviews in Progress
For each standard review there is an issue describing the problem, linking to appropriated documentation, potentially a review document:
Accepted reviews, are listed here. Each of the issue contains information about the problem, list of material, set of technical changes requires or advices and a resolution:
Rejected reviews were withdrawn or rejected without implementation. Each issue shall contain details describing the motivation and reasons for not implementing it: