ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Vyacheslav Daradur <daradu...@gmail.com>
Subject Re: Minimize amount of inner classes, predicates, tuples, etc
Date Tue, 16 May 2017 10:22:40 GMT
Vladimir, thank you for this suggestion.
As newcomer in the Ignite I agree with you, sometimes it is very hard to
understand huge classes which contain sets of inner classes.

>> 1) Inner classes (both static and non-static)
Completelly agree, especially classes which will be serialized.

>> 2) Usage of generic tuples
Why or in what cases?

>> Tuples and closures should be replaced with concrete classes, specific
to your case.
Can you give an example?

2017-05-16 13:01 GMT+03:00 Vladimir Ozerov <vozerov@gridgain.com>:

> Igniters,
>
> Ignite is known to be complex product. Partially this complexity comes from
> ... complex problems we are trying to resolve. But partially it comes from
> how we write our code. I noticed several anti-patterns which makes our code
> hard to manage:
>
> 1) Inner classes (both static and non-static)
> 2) Usage of generic tuples
> 3) Usage of many classes from our "lang"package - closures, predicates,
> etc..
>
> When combined these anti-patterns makes our classes huge, leaky in terms of
> abstractions, hard to follow and refactor. I would like to propose to
> restrict usages of these constructs as much as possible in non-test code.
> Classes should be top-level by default, unless "inner" semantics are
> absolutely necessary or saves a lot of code. Tuples and closures should be
> replaced with concrete classes, specific to your case.
>
> Thoughts?
>
> Vladimir.
>



-- 
Best Regards, Vyacheslav

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