directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Noel J. Bergman" <>
Subject Coding Standards: API, IMPL and reuse
Date Tue, 21 Sep 2004 16:01:21 GMT
Alex Karasulu wrote:

> Ok looks like a plan then.  I'll add this to the JIRA as a task.

What plan?

> Take commons-logging and make it disappear.
> but you need to log stuff.  So just throw together
> a console logger of your own design [inside] a class
> called ConsoleMonitor or whatever.

Logging is just an instance of reuse.  Stephen said, his "point was not
specific to commons logging - it was specific to consequences related to
non-separation of services from implementation concerns at the packaging
level [...]."  Stephen concluded that "achieving good isolation requires
that the entire api chain is composed of clean apis.  An api exposing [any]
implementation artifact) is not a clean api."

There are relatively few packages that have a complete separation of API and
implementation.  Almost nothing in J2SE and J2EE.

Stephen's commentary, taken to the ludicrous extreme, could suggest that we
would create our own API and adapter IMPL for all things, becoming in effect
our own commons.  So I'd like to see a cogent explanation of the
project-wide plan to reuse common external packages.  What is acceptable to
expose in an API?  And where?  Java lacks a means to express it, but not all
packages are intended for public consumption.

Trustin asked about coding standards.  Forget about braces, tabs, end of
line and other mechanical things.  THIS is a coding standards issue.

Lastly, please separate packages from PACKAGING.  How you package things in
JAR files is not isomorphic with package layout.  Yes, packagING can have
effects, but it can also be transparently changed when and if necessary.

	--- Noel

View raw message