ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sergey Evdokimov <sevdoki...@gridgain.com>
Subject Utility classes
Date Thu, 07 May 2015 15:54:28 GMT
Hello,

I have some suggestions for improvement utility classes.

1.) We have big class org.apache.ignite.internal.util.lang.GridFunc that
has a lot of methods in 8000 lines. I propose to split it to several
classes where utility methods are group by purpose. For example methods to
work with IgnitePredicate should be in IgnitePredicates class, methods to
work with Iterator should be in IgniteIterators class, etc... Same grouping
is used in Guava.

2.) Methods like GridFunc.not(IgnitePredicate p) must not return anonymous
class, it should return class with correct name. When I debug code and see
to value of variable I cannot understand that is "GridFunc$123", something
like "GridFunc$PredicateNot" looks much better.

3.) Methods with ugly signature like GridFunc.iterator(Iterable c,
IgniteClosure trans, boolean readOnly, @Nullable IgnitePredicate<? super
T1>... p) should be split to simple methods like
"GridFunc.transform(Iterable itr, IgniteClosure trans)",
 GridFunc.filter(Iterable itr, IgnitePredicate p),
GridFunc.readonly(Iterable c)

Thoughts?

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