Return-Path: X-Original-To: apmail-zest-dev-archive@minotaur.apache.org Delivered-To: apmail-zest-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id C1DA918ABD for ; Sat, 13 Feb 2016 03:54:20 +0000 (UTC) Received: (qmail 2474 invoked by uid 500); 13 Feb 2016 03:54:20 -0000 Delivered-To: apmail-zest-dev-archive@zest.apache.org Received: (qmail 2431 invoked by uid 500); 13 Feb 2016 03:54:20 -0000 Mailing-List: contact dev-help@zest.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@zest.apache.org Delivered-To: mailing list dev@zest.apache.org Received: (qmail 2419 invoked by uid 99); 13 Feb 2016 03:54:20 -0000 Received: from Unknown (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 13 Feb 2016 03:54:20 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id DE41EC0646 for ; Sat, 13 Feb 2016 03:54:19 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.299 X-Spam-Level: * X-Spam-Status: No, score=1.299 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.001, HTML_MESSAGE=2, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd1-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mx1-eu-west.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id ZYq3oeUaGQLc for ; Sat, 13 Feb 2016 03:54:18 +0000 (UTC) Received: from mail-ob0-f171.google.com (mail-ob0-f171.google.com [209.85.214.171]) by mx1-eu-west.apache.org (ASF Mail Server at mx1-eu-west.apache.org) with ESMTPS id B56832565F for ; Sat, 13 Feb 2016 03:54:17 +0000 (UTC) Received: by mail-ob0-f171.google.com with SMTP id xk3so147861270obc.2 for ; Fri, 12 Feb 2016 19:54:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:content-type; bh=HD+nIivijk2CfYxCD/xDEkpiY3OEUqetDtEHYtFPeoo=; b=eF3sa3izSamJ+rhdlJC5J45ZsPK0MZxRFdv3z2+/0mUBag9mjdH1R/dVxsbhM0fwU0 bVA0j9wHPOQEfqHPckTwYTv6ycPsFmEdt1K6eIghIPyl88DDPkgjka5AemO1ryeCLYZ8 sEeTojEMS1dztwEuQOGQzTL31uGsO+t9Fb/QuhsHpJXL/vqSMgohy3H8f12nE9E7yqI7 miMdtJAKro2oBd2H0MwaE5SsbAFpbw9GnAj6M9JgikT9XA6FesbT7SLthh7vP20+enaM MEpbTbNrOfgnCNxyMVrzVzOO9aICvq8EYBtDxuSNWfEt8k7jiyt+li5Yh7b1CB/sQWWb 9Kug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:content-type; bh=HD+nIivijk2CfYxCD/xDEkpiY3OEUqetDtEHYtFPeoo=; b=Rk9G9rCoDdgDCWwwVKczJTd6WbJY91pCLGHiIavoCqguD0FqbNDToAKdqn9XYCXe82 qJ67a1k5sImQ8zXUU1USoSLFgPJl1sKRNzQLz2Ye+WWTJ7oAgObExWM48ojv/U0h/xuo pd4aENBT9R9/t/5m/PFa/3kZspDVpAkAKTqgyajAiQyD27Hit1jvR2apIl0DmrL2sDKY FovW9qsumdK0t+uXEjEU2AC3cNDp1yUTWC1tdEE+9Y+7dBehuejJUYsn1yjUL6GhMyKW rDfSS73wssA1GgT2Od1EaDvZPoIyK0SKcThR6EKj1LkWrQ/mzgLVlgevbtt6MZMl3AZW 3mbA== X-Gm-Message-State: AG10YOSJ9Ybm4rziZdOpQMB08L1KfEkbExvfe7f/w1BXYTvA6BnUNHiZDSyvnytHU+Fl2qmAYKS6QIZx1l8geQ== X-Received: by 10.182.116.200 with SMTP id jy8mr4317974obb.35.1455335656671; Fri, 12 Feb 2016 19:54:16 -0800 (PST) MIME-Version: 1.0 Sender: hedhman@gmail.com Received: by 10.202.51.138 with HTTP; Fri, 12 Feb 2016 19:53:57 -0800 (PST) In-Reply-To: <56BE5A56.90900@gmail.com> References: <56BE5A56.90900@gmail.com> From: Niclas Hedhman Date: Sat, 13 Feb 2016 11:53:57 +0800 X-Google-Sender-Auth: tSz2wnxoInSZKfQZ4K5O5zLE3ug Message-ID: Subject: Re: Apache Zest Possible Contribution To: dev , Rafael Campos Content-Type: multipart/alternative; boundary=089e015374ecd85099052b9ebce0 --089e015374ecd85099052b9ebce0 Content-Type: text/plain; charset=UTF-8 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 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 --089e015374ecd85099052b9ebce0--