Deprecation
warnings are very important, and we must avoid calling any deprecated
API. Sun JDK is not our only
dependency, and even Sun does eventually remove deprecated API (compare JDK
6 with JDK 1.1 and there are many APIs that have been removed). But more importantly deprecated API
are obsolete and have typically been replaced by much better and better
performing API. Several of our
concurrency and performance problems have been attributed to using
deprecated API and obsolete classes.
It is important to keep our code base current and up to data with the
evolving technologies that we are dependent
on.
It
is also important to ensure we are not using any of own deprecated API, and
have not incorrectly deprecated an API. This is especially important in
testing, where we must be testing using the same API that we intend our
clients to use, not deprecated API.
Fixing
many of these code warnings can actually be quite simple, and we should be
fixing testing as well as product code. In many cases Eclipse or other IDEs
provide automated ways to fix warnings for the entire project with a single
click. Refactoring and global
search and replace can also fix many issues very
easily.
I
don't agree that our solution to IDE warnings should be to turn off the
warnings (although some seem a little odd). Turning them off ensures that new
code developed will have the same
errors.
-----Original
Message-----
From:
eclipselink-dev-bounces@xxxxxxxxxxx
[mailto:eclipselink-dev-bounces@xxxxxxxxxxx]On Behalf Of Mike Keith
Sent: Wednesday, October 10, 2007 2:02
AM
To: Dev mailing list for
Eclipse Persistence Services
Subject: RE: [eclipselink-dev] Eclipse
IDE Error/Warning Levels
I
agree with phase 1.
I
don't think that the deprecation warning level need ever be turned on,
though, even in phase 2. Deprecation means nothing, really, and Sun has even
said that they do not ever plan on removing deprecated API. I keep that
Eclipse warning eternally turned off in all my Eclipse
projects.
I am
not sure that in phase 3 the same level of quality needs to be in place for
the tests, but as was mentioned I think we can discuss what an acceptable
level is when we reach that bridge.
-----Original
Message-----
From:
eclipselink-dev-bounces@xxxxxxxxxxx
[mailto:eclipselink-dev-bounces@xxxxxxxxxxx]On Behalf Of Doug Clarke
Sent: Tuesday, October 09, 2007 11:18
AM
To:
eclipselink-dev@xxxxxxxxxxx
Subject: [eclipselink-dev] Eclipse IDE
Error/Warning Levels
EclipseLink
Developers,
During our
incubation phase I would like to propose an approach to dealing with the
many warnings we get in the Eclipse IDE for our code base. Historically
these have not been a great concern to TopLink development but I feel that
the move to Eclipse should include an effort to work on overall code quality
and we should leverage the Eclipse IDE tooling to do
this.
We have
a very large number of warning across our projects that make addressing
these easily a difficult task. To make this more manageable I would like to
propose a phased approach with concrete items in the project back-log to
address them.
STEP 1: Turn down
the warning levels within the project settings to get to a manageable number
of warnings we can address.
·
In
all project source projects we will turn off warnings for deprecation,
serialVersionUID, and unchecked generic type operations
·
In
all test case projects we will turn off these warnings as well as the unused
imports, local variable is never read, an unused local or private member
warnings
This will get us
down to a more manageable warning level and we can add specific items to the
project back-log to get these addressed.
STEP 2: After the
above warnings have been addressed through code changes and we have
addressed the deprecated code removal we can increase the warning level to
include deprecation as well as any additional ones the developers feel are
useful to the source projects.
STEP 3: Increase
the warning levels on the test case projects as determined by the
developers.
Based on this
proposal I would like to proceed with modifying the existing project's
warning levels and checking them in. Please provide feedback on this
proposal by COB Thursday.
Doug
![Oracle Email Signature Logo]()
Doug
Clarke | Principal Product Manager, Oracle
TopLink
Oracle Server
Technologies
45 O'Connor, Suite 4000 |
Ottawa, ON
K1P
1A4 Canada