commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Benedikt Ritter <brit...@apache.org>
Subject Re: Creating CSVFormats (again :)
Date Wed, 05 Jun 2013 13:22:53 GMT
2013/5/23 Gary Gregory <garydgregory@gmail.com>

> On Thu, May 23, 2013 at 3:31 AM, Benedikt Ritter <britter@apache.org>
> wrote:
>
> > 2013/5/21 Gary Gregory <garydgregory@gmail.com>
> >
> > > On Tue, May 21, 2013 at 2:52 PM, Benedikt Ritter <britter@apache.org>
> > > wrote:
> > >
> > > > 2013/5/21 Emmanuel Bourg <ebourg@apache.org>
> > > >
> > > > > Le 21/05/2013 17:47, Benedikt Ritter a écrit :
> > > > >
> > > > > > Well that still doesn't tell us, what your definition of a "real"
> > > > builder
> > > > > > is :-) The latest trunk contains a builder implementation with
a
> > > fluent
> > > > > > API. It has been criticized for being to verbose when creating
> new
> > > > > formats
> > > > > > from existing ones. This is why we came up with this new
> proposal,
> > > that
> > > > > is
> > > > > > less verbose but requires static imports.
> > > > >
> > > > > What about simply going back to the previous design (fluent API
> > without
> > > > > builder) ? The only drawback was the need to validate the format
> > > > > explicitly. That is the best compromise IMHO.
> > > > >
> > > >
> > > > Hi Emmanuel,
> > > >
> > > > I think we have discussed this a lot (maybe to much). You certainly
> > know
> > > my
> > > > arguments against the old solution and I still think they are valid.
> > > Also,
> > > > I understand your arguments and think they are equally valid.
> > > > I believe we have tried a lot to finally reach consensus about this
> > > issue.
> > > > We have tried several solutions and to me it seems, that consensus
> can
> > > > simply not be reached (an argument that can't be settled in 5 minutes
> > > can't
> > > > be settled with arguments at all).
> > > >
> > > > Having this said, I'm willing to give my +0 for going back for the
> old
> > > impl
> > > > if the others (by this I specially me Gary and sebb) also agree.
> > > > I believe that this issue has blocked us for such a long time from
> > > pushing
> > > > csv forward, that it is time to overcome personal preferences and
> just
> > > > chose one solution or the other.
> > > >
> > > > So if you can at least convince Gary and sebb, let's do it and then
> go
> > > on.
> > > > I want to see csv see the light of day :-)
> > > >
> > >
> > > Nice message Benedikt.
> > >
> >
> > Thanks :)
> >
> >
> > >
> > > At the end of the day, here is what I am looking for: Don't force me to
> > use
> > > a style of API to use the product. If I want to use fat constructors
> that
> > > may be hard to read, let me. If I want to use a fluent API, provide it
> > and
> > > let people who like that style use it. At a lower level, do make things
> > > immutable where they make sense. If the fluent API and/or the
> > immutability
> > > of some objects has the side effect or creating a lot of garbage, then
> > that
> > > is the cost of using that feature, which is why I do not want to force
> > > people to use it. Let there be light ;)
> > >
> >
> > So this is your +1 for the old API + public ctor?
> >
>
> I'm not sure which is which anymore and I do not want to take the time
> today to dive back in this one. But it does feel we are getting close... to
> something ;)
>


Sorry, for the late follow up...
What we are talking about is probably something like r1399051 [1] but with
a public ctor.

WDYT?

Benedikt

[1]
http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java?revision=1399051&view=markup


>
> Gary
>
> >
> > I'm excited to hear sebb's opinion :)
> >
> > Benedikt
> >
> >
> > >
> > > Gary
> > >
> > >
> > > > Benedikt
> > > >
> > > >
> > > > >
> > > > > Emmanuel Bourg
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > > --
> > > > http://people.apache.org/~britter/
> > > > http://www.systemoutprintln.de/
> > > > http://twitter.com/BenediktRitter
> > > > http://github.com/britter
> > > >
> > >
> > >
> > >
> > > --
> > > E-Mail: garydgregory@gmail.com | ggregory@apache.org
> > > Java Persistence with Hibernate, Second Edition<
> > > http://www.manning.com/bauer3/>
> > > JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
> > > Spring Batch in Action <http://www.manning.com/templier/>
> > > Blog: http://garygregory.wordpress.com
> > > Home: http://garygregory.com/
> > > Tweet! http://twitter.com/GaryGregory
> > >
> >
> >
> >
> > --
> > http://people.apache.org/~britter/
> > http://www.systemoutprintln.de/
> > http://twitter.com/BenediktRitter
> > http://github.com/britter
> >
>
>
>
> --
> E-Mail: garydgregory@gmail.com | ggregory@apache.org
> Java Persistence with Hibernate, Second Edition<
> http://www.manning.com/bauer3/>
> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
> Spring Batch in Action <http://www.manning.com/templier/>
> Blog: http://garygregory.wordpress.com
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory
>



-- 
http://people.apache.org/~britter/
http://www.systemoutprintln.de/
http://twitter.com/BenediktRitter
http://github.com/britter

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