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