• Home
    • View
    • Login
    This page
    • Normal
    • Export PDF
    • Page Information

    Loading...
  1. Dashboard
  2. Undefined Space
  3. OpenJFX
  4. API Review

Page History

Versions Compared

Old Version 10

changes.mady.by.user Kevin Rushforth

Saved on Oct 19, 2018

compared with

New Version 11

changes.mady.by.user Kevin Rushforth

Saved on Oct 19, 2018

  • Previous Change: Difference between versions 9 and 10
  • Next Change: Difference between versions 11 and 12
  • View Page History

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

THE FOLLOWING INFORMATION IS OUT OF DATE...

The Importance of API

Having a consistent and functional API is critical in a software component.  There is a famous saying: "API is forever".  This is true.  Once a class, interface or method is public or protected, it cannot be deleted and is expected to function until the end of time, even when deprecated.In OpenJFX, due to package visibility or other reasons, sometimes a method needs to be public or protected so that it can be called as part of the implementation of the toolkit.  Such methods have the "imp_" prefix.  These methods are not API and can be deleted or changed at any time (the JavaDoc clearly states thisunless deprecated for-removal in one release and then removed in a later release (which is a very rare process).

Steps for API Review

Because API is so important, there are a few more restrictions additional requirements  over and above the normal code review process:

  • Ensure that there is a JIRA that covers the work
  • Add the label 'api' to the JIRA
  • Ensure there is a pre-commit review of the code in the JIRA
  • Send an email to openjfx@java.net with the title: "[<release>] API Review for <bug-id>: <summary>"
  • In addition to the normal reviewers, a +1 is required from the Team Lead or an Architect before the code is committed

what is needed for a bug fix. The process is described on the code review process page.

Config Files, CSS, Properties and More are API

Usually we think of API in terms of classes and methods, however, things like config files and CSS are also API.  Essentially, any set of characters or keywords that are documented to cause a well-specified behaviour behavior can be considered to be API.  When in doubt, it is best to ask.

...

Behavioral Changes are API

Changes in behaviour behavior can break the users of the toolkit.  Major Major changes in behaviour behavior such as threading should be treated like API and require the same steps as an API review.  It It is critical that the Team Lead Project Leads and Architects Reviewers are aware of how the toolkit behaves and understand how it is used.

While some API changes such as new classes and methods are easy to see, behavioural behavioral changes can be fuzzy.  When in doubt, asking for clarification is the best policy here.

...

Overview
Content Tools
ThemeBuilder

Terms of Use
• License: GPLv2
• Privacy • Trademarks • Contact Us

Powered by a free Atlassian Confluence Open Source Project License granted to https://www.atlassian.com/software/views/opensource-community-additional-license-offer. Evaluate Confluence today.

  • Kolekti ThemeBuilder Powered by Atlassian Confluence 8.5.23
  • Kolekti ThemeBuilder printed.by.atlassian.confluence
  • Report a bug
  • Atlassian News
Atlassian
Kolekti ThemeBuilder EngineAtlassian Confluence
{"serverDuration": 290, "requestCorrelationId": "7ab5b4233077bd1c"}