This is an automated email from the ASF dual-hosted git repository.

desruisseaux pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/sis-site.git


The following commit(s) were added to refs/heads/main by this push:
     new 193deebe Document the policy applied in recent changes: - Under which 
condition to suppress a compiler warning. - Use of some HTML tags according 
their semantic.
193deebe is described below

commit 193deebe7ff7ae09522b9fc6495074e85f312f4b
Author: Martin Desruisseaux <martin.desruisse...@geomatys.com>
AuthorDate: Mon Feb 12 18:51:24 2024 +0100

    Document the policy applied in recent changes:
    - Under which condition to suppress a compiler warning.
    - Use of some HTML tags according their semantic.
---
 content/code-patterns.md | 44 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/content/code-patterns.md b/content/code-patterns.md
index 6eb0abe5..df6d7676 100644
--- a/content/code-patterns.md
+++ b/content/code-patterns.md
@@ -6,6 +6,9 @@ This page lists some recommended code pattern for developing or 
using Apache {{%
 
 {{< toc >}}
 
+
+
+
 # Referencing    {#referencing}
 
 This section lists recommended code pattern when using the `sis-referencing` 
module.
@@ -21,6 +24,9 @@ Instead of patching the coordinate values, try to make sure 
that the _Source CRS
 and the _Target CRS_ (the coordinate space where to perform the work) are 
properly defined,
 and let the referencing engine performs the conversion from the source to the 
target {{% CRS %}}.
 
+
+
+
 # Rasters and coverages    {#coverage}
 
 This section lists recommended code pattern when using the `sis-coverage` 
module.
@@ -43,6 +49,8 @@ because some raster data may be shared by many tiles having 
identical content.
 Furthermore changes in pixel values may be lost if {@code 
releaseWritableTile(…)} is not invoked.
 
 
+
+
 # International    {#international}
 
 This section lists recommended code pattern for internationalization.
@@ -84,6 +92,9 @@ for (int i=0; i<string.length();) {
 }
 ```
 
+
+
+
 # Logging    {#logging}
 
 Apache {{% SIS %}} uses the `java.util.logging` framework.
@@ -101,3 +112,36 @@ since developers use them for configuring their logging 
(verbosity, destination,
 All logging at `Level.INFO` or above shall be targeted to users or 
administrators, not to developers.
 In particular `Level.SEVERE` shall be reserved for critical errors that 
compromise the application stability —
 it shall not be used for exceptions thrown while parsing user data (file or 
database).
+
+
+
+
+# Compiler warnings    {#warnings}
+
+When a local variable in a method has the same name as a field in the 
enclosing class,
+some compilers emit a _"Local variable hides a field"_ warning.
+This warning can be disabled with a 
`@SuppressWarnings("LocalVariableHidesMemberVariable")` annotation.
+However, by convention Apache SIS applies this annotation only when the local 
variable should have the same value as the field.
+Otherwise, the warning should be resolved. When a code hides a field, it 
should be a statement such as
+`final Foo foo = this.foo;` or `final Foo foo = getFoo();` and may exist for 
the following reasons:
+
+* `this.foo` is non-final and we want to make sure that it is not modified by 
accident in the method.
+* `this.foo` is a volatile field, therefor should be read only once and cached 
in the method for performance.
+* `getFoo()` computes the value of `this.foo` lazily.
+
+
+
+
+# Javadoc    {#javadoc}
+
+Javadoc comments are written in HTML, not Markdown, both for historical 
reasons and because HTML allows richer semantic.
+For example, for formatting a text in italic, the Javadoc should choose the 
most appropriate of the following tags:
+
+* `<em>`   for emphasis. A screen reader may pronounce the words using verbal 
stress.
+* `<var>`  for a variable to show like a mathematical symbol.
+* `<dfn>`  for introducing a word defined by the nearby sentences.
+* `<cite>` for the title of a document, in particular an OGC/ISO standard.
+  Apache SIS uses also this tag for the name of a geodetic object in the EPSG 
geodetic database,
+  in which case the object definition is considered as a document.
+  This tag can also be used for section titles.
+* `<i>` for rendering in italic for any reason than the above reasons.

Reply via email to