commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Otto Fowler <ottobackwa...@gmail.com>
Subject Re: [imaging] IMAGING-154 remove Debug class
Date Mon, 05 Feb 2018 12:41:20 GMT
Maybe Debug should be an interface ( perhaps with the current class as the
default implementation ) and be passed in optionally?


On February 5, 2018 at 07:21:11, Bruno P. Kinoshita (
brunodepaulak@yahoo.com.br.invalid) wrote:

Hello,

If memory serves me well, some time ago we had a discussion around sanselan
& commons-imaging 1.0. One of the issues with commons-imaging 1.0 was the
Debug class.

https://issues.apache.org/jira/browse/IMAGING-154

I finished the pull request, but Gilles raised an important point, about
discussing other alternatives first.

Initially I am against logging in low level libraries, especially commons
components. But some time ago I had to debug TIFF issues in
commons-imaging, and having the dump methods was a tremendous help.


The issue is that some imaging algorithms/processing have a lot of
variables that can be altered. And keeping an eye on all of them in the
debugger can be quite hard - though not impossible.

So all in all, now I am more confident to proceed without the Debug class.
But some users could have a hard time investigating possible issues in the
library without seeing what's going on within the library.

IMO, that could be solved with the logging/dump features... or through a
better design, especially around exception handling/throwing. The latter is
my preferred approach. Instead of logging, I prefer - whenever possible -
that low level libraries throw exceptions and let me handle the logging.


So, any thoughts? :) I'm +1 to remove the Debug class, and +0 to a logging
added to commons-imaging.

Bruno

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message