Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Scout/Coding Guidelines"

 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{ScoutPage}}
+
The Scout documentation has been moved to https://eclipsescout.github.io/.
 
+
This page collects the coding guidelines for the Eclipse Scout project
+
 
+
== API Compatibility ==
+
 
+
We try to make migration to new releases as easy as possible, however to keep our code clean and simple we need to change the API in new releases.
+
 
+
=== Impact of API Changes ===
+
'''Scout Runtime:''' API Changes in the Scout Client Model, Scout Services, Utilities, etc. can have a large impact for projects using Scout, wereas changes in the UI layer (*.swt, *.swing, *.rap) are usually not relevant for projects. API changes in the Scout Runtime may require changes in the Scout SDK, Scout Demo Application, documentation, etc.
+
 
+
'''Scout SDK:''' Not many projects are extending the Scout SDK, therefore API changes are not so critical there.
+
 
+
=== What is Puplic API in Scout?===
+
'''Internal Packages:''' Packages ending with .internal are not considered API. The use of such packages is possible, but discouraged. All internal packages should be exported, such that they can be used, if really needed.
+
 
+
'''UI Plugins:''' Plugins *.ui.*  are not considered API. These plugins may change more frequently.
+
 
+
=== How to change/remove API===
+
 
+
=== Adding new API ===
+
 
+
Addition of a method on an interface is allowed if the default implementation is provided:
+
 
+
This holds for
+
* Abstract model classes: e.g. org.eclipse.scout.rt.client.ui.form.fields.stringfield.AbstractStringField
+
* UI Fields: e.g. rg.eclipse.scout.rt.ui.swing.AbstractSwingEnvironment, org.eclipse.scout.rt.ui.swing.form.fields.browserfield.internal.SwingScoutBrowserField
+
 
+
=== Deprectations ===
+
 
+
The scout RT API are compatible with your the previous release. Some modifications are marked with the keyword '''migration''' in bugzilla meaning that some modifications are requested.
+

Latest revision as of 07:29, 18 March 2024

The Scout documentation has been moved to https://eclipsescout.github.io/.

Back to the top