You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@polygene.apache.org by Rafael Campos <ra...@gmail.com> on 2016/02/12 23:19:02 UTC

Apache Zest Possible Contribution

Hi,

I better introduce myself I am Rafael and I am a student of distributed 
systems engineering.

In subject that I have we talked about some of the concepts that I think 
are in Apache Zest. I tried to give it a shot to see how it works but I 
struggled a little. Maybe because I am not understanding the point.

In any case I tried to do my own implementation of something similar. 
You can find it at the following repo:

https://github.com/Mashashi/javaroles/

Please if you have the time or someone on the team of the apache zest 
give it a look. I would be thrilled to have my name associated somehow 
to a apache project. It would be a great honour.

The most important thing in the repo that I send, is the test cases 
defined in

class pt.mashashi.javaroles.composition.ResolveRoleMethodTest

Thank you very much for your time,
Waiting for a kind or not so kind reply :)
Rafael

Re: Apache Zest Possible Contribution

Posted by Niclas Hedhman <ni...@hedhman.org>.
First of all, try to subscribe to this mailing list. Quite soon, we will
forget to CC you. See the tough instructions on
https://www.apache.org/foundation/mailinglists.html


It is quite a lot to ask for a code review of a undocumented blob of
non-trivial (bytecode generation) and somewhat sloppy (see below) codebase.
So, I will only comment on what I see during 1 minute look.

I dislike anything that relies on naming conventions to work. I see more
than once things like;

    Method callback = target.getClass().getMethod(oldRole+"Stop", String.
class);

which is not particularly good in the long run.

Secondly, don't use tabs in Java code! 8 character indents on GitHub viewer
is awful. And if you use an IDE (especially Eclipse) every now and then it
will use spaces.

Thirdly, we stopped putting comments in code when we started to introduce
more smaller methods, with descriptive names. You have neither, and a lot
of many level deep control structures. Nightmare to read and to maintain. I
know that Zest isn't an angel in this field either, and trying to improve
over time.

Fourthly, I am sorry, but I don't understand your description of what you
are trying to do.

My guess is that you are a student. IF you have strong interest in this,
then I can inform you that there is no master thesis or phd dissertation on
composite oriented programming. I would love to see this, but I am not the
kind of person to write that.

Finally, if you want to get involved with Apache projects then that is
great. Smaller communities are easier to get into and requires less effort
to become a committer. For Apache Zest, there are a lot to work on.
Libraries always need more love and care, extensions are easy to write,
since there are so many previous implementations and one can follow the
same pattern. Getting involved in the Zest Core might be a bit mind
boggling, and I suggest staying off that for a while.

We also always need more testcases at all levels, and I am especially keen
on performance comparisons between extensions, i.e. writing one set of
performance tests for persistence, one set for indexing/query, and one set
for serialization, and then plug each of the extensions to the test set.
Just a suggestion.

You might browse the Jira (https://issues.apache.org/jira/browse/ZEST) for
open tickets to tackle, although our low hanging fruit may not be easy
enough.


Cheers
Niclas

On Sat, Feb 13, 2016 at 6:19 AM, Rafael Campos <ra...@gmail.com>
wrote:

>
> Hi,
>
> I better introduce myself I am Rafael and I am a student of distributed
> systems engineering.
>
> In subject that I have we talked about some of the concepts that I think
> are in Apache Zest. I tried to give it a shot to see how it works but I
> struggled a little. Maybe because I am not understanding the point.
>
> In any case I tried to do my own implementation of something similar. You
> can find it at the following repo:
>
> https://github.com/Mashashi/javaroles/
>
> Please if you have the time or someone on the team of the apache zest give
> it a look. I would be thrilled to have my name associated somehow to a
> apache project. It would be a great honour.
>
> The most important thing in the repo that I send, is the test cases
> defined in
>
> class pt.mashashi.javaroles.composition.ResolveRoleMethodTest
>
> Thank you very much for your time,
> Waiting for a kind or not so kind reply :)
> Rafael
>



-- 
Niclas Hedhman, Software Developer
http://zest.apache.org - New Energy for Java