blob: 5d7bd5cb9f748610e18731d80b214b89fcbc16a8 [file] [log] [blame]
//
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
//
= Purpose of API Reviews
:jbake-type: wiki
:jbake-tags: wiki, devfaq, needsreview
:markup-in-source: verbatim,quotes,macros
:jbake-status: published
:syntax: true
:description: Purpose of API Reviews
:icons: font
:source-highlighter: pygments
:toc: left
:toc-title:
:experimental:
The xref:API_Design.adoc[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 xref:../index.adoc[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
link:http://wiki.apidesign.org/wiki/APIDesignPatterns[implementation
methodologies], xref:APIDevelopment.adoc#Tests[development techniques]
or xref:APIDevelopment.adoc#doc[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
link:http://wiki.apidesign.org/wiki/Usecase[usecase]s) we apply our knowledge
gained from maintaining xref:../index.adoc[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 xref:performance.adoc[performance] implications.
[[How_to_Get_Involved]]
== 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 *apireviews@netbeans.org* which automatically sends an email to link:http://netbeans.org/projects/www/lists/api-changes/archive[api-changes@netbeans.org]
mailing list. That is why subscribe to link:http://netbeans.org/projects/www/lists/api-changes/archive[api-changes@netbeans.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, xref:SignatureTest.adoc[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 xref:../index.adoc[NetBeans] codebase.
link:https://bz.apache.org/netbeans/buglist.cgi?query_format=advanced&short_desc_type=substring&short_desc=&long_desc_type=substring&long_desc=&bug_file_loc_type=substring&bug_file_loc=&status_whiteboard_type=substring&status_whiteboard=&keywords_type=anywords&keywords=&bug_status=NEW&bug_status=STARTED&bug_status=REOPENED&emailassigned_to1=1&emailtype1=substring&email1=&emailreporter2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=2w&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=keywords&type0-0-0=substring&value0-0-0=API_REVIEW[Recently Active Reviews]
[[Reviews_in_Progress]]
== Reviews in Progress
For each standard review there is an issue describing the problem, linking to appropriated documentation, potentially a review document:
link:https://bz.apache.org/netbeans/buglist.cgi?query_format=advanced&short_desc_type=substring&short_desc=&long_desc_type=substring&long_desc=&bug_file_loc_type=substring&bug_file_loc=&status_whiteboard_type=substring&status_whiteboard=&keywords_type=anywords&keywords=&bug_status=NEW&bug_status=STARTED&bug_status=REOPENED&emailassigned_to1=1&emailtype1=substring&email1=&emailreporter2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=keywords&type0-0-0=substring&value0-0-0=API_REVIEW[Reviews In Progress]
[[Accepted_Reviews]]
== Accepted Reviews
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:
link:https://bz.apache.org/netbeans/buglist.cgi?query_format=advanced&short_desc_type=substring&short_desc=&long_desc_type=substring&long_desc=&bug_file_loc_type=substring&bug_file_loc=&status_whiteboard_type=substring&status_whiteboard=&keywords_type=anywords&keywords=API_REVIEW&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&resolution=FIXED&emailassigned_to1=1&emailtype1=substring&email1=&emailreporter2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=[Standard Reviews]
link:https://bz.apache.org/netbeans/buglist.cgi?query_format=advanced&short_desc_type=substring&short_desc=&long_desc_type=substring&long_desc=&bug_file_loc_type=substring&bug_file_loc=&status_whiteboard_type=substring&status_whiteboard=&keywords_type=anywords&keywords=API_REVIEW_FAST&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&resolution=FIXED&emailassigned_to1=1&emailtype1=substring&email1=&emailreporter2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=[Fast Track Reviews]
[[Rejected_Reviews]]
== Rejected Reviews
Rejected reviews were withdrawn or rejected without implementation. Each issue shall contain details describing the motivation and reasons for not implementing it:
link:https://bz.apache.org/netbeans/buglist.cgi?query_format=advanced&short_desc_type=substring&short_desc=&long_desc_type=substring&long_desc=&bug_file_loc_type=substring&bug_file_loc=&status_whiteboard_type=substring&status_whiteboard=&keywords_type=anywords&keywords=&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&resolution=INVALID&resolution=WONTFIX&resolution=WORKSFORME&resolution=INCOMPLETE&emailassigned_to1=1&emailtype1=substring&email1=&emailreporter2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=keywords&type0-0-0=substring&value0-0-0=API_REVIEW[Rejected Reviews]
[[List_of_Suggested_Improvements]]
== List of Suggested Improvements
* link:https://bz.apache.org/netbeans/buglist.cgi?issue_status=UNCONFIRMED&issue_status=NEW&issue_status=STARTED&issue_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&issueidtype=include&issue_id=&changedin=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&issue_file_loc=&issue_file_loc_type=substring&status_whiteboard=TCR+TCA+tcr+tca&status_whiteboard_type=anywords&keywords=&keywords_type=exactlyanywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=[Open TCRs and TCAs]
* link:https://bz.apache.org/netbeans/buglist.cgi?issue_status=RESOLVED&issue_status=VERIFIED&issue_status=CLOSED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&issueidtype=include&issue_id=&changedin=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&issue_file_loc=&issue_file_loc_type=substring&status_whiteboard=TCR+TCA+tcr+tca&status_whiteboard_type=anywords&keywords=&keywords_type=exactlyanywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=[Closed TCRs and TCAs]
[NOTE]
====
The content in this page was kindly donated by Oracle Corp. to the Apache Software Foundation.
This page was exported from link:http://wiki.netbeans.org/APIReviews[http://wiki.netbeans.org/APIReviews] , that was last modified by NetBeans user Tomwheeler on 2011-09-14T15:50:05Z.
This document was automatically converted to the AsciiDoc format on 2020-03-12, and needs to be reviewed.
====