ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Vladimir Ozerov <voze...@gridgain.com>
Subject Minimize amount of inner classes, predicates, tuples, etc
Date Tue, 16 May 2017 10:01:07 GMT

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,

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.



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