cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rafael Weingärtner <rafaelweingart...@gmail.com>
Subject Re: Variable renaming in classes meant for Agents
Date Fri, 20 May 2016 22:54:46 GMT
You are right Will.
I am sorry for the link, here it is:
https://cwiki.apache.org/confluence/display/CLOUDSTACK/Coding+conventions

On Fri, May 20, 2016 at 7:52 PM, Will Stevens <wstevens@cloudops.com> wrote:

> Can you add your link for [1], I think you forgot to add the link.  I was
> not aware of a coding standard for this project.  I know there has been
> debated a lot recently about the preceding `_` on some variables.
> Historically it was done that way, but recently a lot of people have taken
> offense to it.  I don't care what format the community agrees on, but I
> understand why people follow the existing styling.  Also, I think that if
> we ask someone to remove the `_` in their PR for a class, we should also
> ask them to remove it for the entire class because the only thing worse
> than not following a standard is to have both situations in a single
> class.  Thats just my opinion, but as a developer, that would drive me
> nuts...
>
> *Will STEVENS*
> Lead Developer
>
> *CloudOps* *| *Cloud Solutions Experts
> 420 rue Guy *|* Montreal *|* Quebec *|* H3J 1S6
> w cloudops.com *|* tw @CloudOps_
>
> On Fri, May 20, 2016 at 12:42 PM, Rafael Weingärtner <
> rafaelweingartner@gmail.com> wrote:
>
> > You are right Mike about the “_”. The point is that in some other
> language
> > the use of “_” makes sense, whereas in Java it does not, at least not the
> > way it has being used in ACS.
> >
> > We have code conventions, it can be found in [1]. The problem is that it
> is
> > a bit outdated and I think it could benefit from some others tutorials.
> For
> > instance, a clear and simple tutorial explaining what is a test case and
> > showing how to create a proper test case; I am referring to the
> > unit/integration test case that we write using Junit and other tools.
> >
> > Also, we lack some information on how to prepare code to be tested.
> > Once we have that kind of standard defined and tutorials written, we
> could
> > work out ways to educate our community. It is not a problem not to know
> > those things; we cannot expect everyone to know how to use every single
> > methodology and technology that is out there. But, we can help people to
> > learn, that is the point of a community, it should be a place where
> people
> > exchange ideas and experience in a way that benefits everyone.
> >
> > As soon as you open the PR, please let us know, so we can review it and
> > help you get it merge as soon as possible. I think this is something that
> > should go in the 4.9 release.
> >
> >
> > On Fri, May 20, 2016 at 1:27 PM, Tutkowski, Mike <
> > Mike.Tutkowski@netapp.com>
> > wrote:
> >
> > > It sounds like most people don't like a preceding "_" for member
> > variables
> > > and that is fine. Do we have any formal Java coding standards for
> > > CloudStack, by the way? I'm not aware of any.
> > >
> > > The main problem here, though, is that this particular piece of code is
> > > super fragile, so it would be great to harden it up.
> > >
> > > I'm going to open a PR and revert the names in those changed "Command"
> > > files for 4.9. That will solve the immediate problem.
> > > ________________________________________
> > > From: Rafael Weingärtner <rafaelweingartner@gmail.com>
> > > Sent: Friday, May 20, 2016 9:12 AM
> > > To: dev@cloudstack.apache.org
> > > Subject: Re: Variable renaming in classes meant for Agents
> > >
> > > Hi guys,
> > > I agree with Daan that if class fields have improper (not descriptive
> or
> > > not suitable) names we should change them. However, I do not find the
> > > change (on variable names) introduced by PR #816 good. It added an
> > > “_”(underline) before variable names; even though Apache CloudStack
> has a
> > > lot of that currently, I think that is a pattern we should avoid.
> > >
> > > Your ideas to use annotations to avoid relying on variable names are
> > great;
> > > but, let’s not re-create the well here. There is a research [1] that
> has
> > > been conducted in 2014 that tackled exactly that problem; the proposal
> > > presented in [1] decoupled client and server sides from variable name
> by
> > > using semantic annotations. The concept, the formalization and the
> > > experiments are all presented in paper [1]. The serialization and
> > > deserialization core of the proposal presented in [1] can be found in
> > [2].
> > >
> > > The idea of decoupling our web APIs from variable names is great, but
> it
> > is
> > > something that will require some effort to be fully and properly
> > > implemented. If you wish to push that forward count on me.
> > >
> > > [1] http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=6928953&tag=1
> > > [2] https://github.com/ivansalvadori/gsonld
> > >
> > >
> > > On Fri, May 20, 2016 at 3:30 AM, Daan Hoogland <
> daan.hoogland@gmail.com>
> > > wrote:
> > >
> > > > Guys, we should rename fields that have improper names. I do not
> agreee
> > > > with the statement at all. Your two solutions to the serialisation
> > hazard
> > > > are both acceptable to me. leaving a non compliant or non explanatory
> > > name
> > > > in because it slipped through the nets at some points does not seem
> > > > acceptable to me. We must improve are code.
> > > >
> > > > On Fri, May 20, 2016 at 6:53 AM, Tutkowski, Mike <
> > > > Mike.Tutkowski@netapp.com>
> > > > wrote:
> > > >
> > > > > Thanks for sending out this e-mail, Anshul.
> > > > >
> > > > > This is a bit of a strange situation because we need to make sure
> > > people
> > > > > are either aware of the fact that properties in Command classes are
> > > > > serialized (and not change existing variable names) or come up
> with a
> > > > less
> > > > > fragile way of choosing property names when sending data (perhaps
> > using
> > > > > annotations).
> > > > >
> > > > > At the very least, we should have comments in these classes
> > indicating
> > > > the
> > > > > dangers of changing property names. It might also be beneficial to
> > have
> > > > > unit tests in place that expect certain variable names and assert
> if
> > > they
> > > > > are not as expected.
> > > > >
> > > > > In the meanwhile, I plan to change the variable names back that
> were
> > > > > changed in PR #816.
> > > > >
> > > > > Additional thoughts on how this should be addressed long term?
> > > > >
> > > > > Thanks!
> > > > > Mike
> > > > > ________________________________________
> > > > > From: Anshul Gangwar <anshul.gangwar@accelerite.com>
> > > > > Sent: Thursday, May 19, 2016 10:47 PM
> > > > > To: dev@cloudstack.apache.org
> > > > > Subject: Variable renaming in classes meant for Agents
> > > > >
> > > > > Hi,
> > > > >
> > > > > We should not allow renaming of variables in classes which ends
> with
> > > > > Command and TO. As these objects are meant to be consumed by
> Agents.
> > > > >
> > > > > Agents may not be written in java so relying on these variable
> names
> > to
> > > > > get the info. One such example is Hyper-V agent.
> > > > >
> > > > > Hyper-V support is currently broken as there are some variables
> > renamed
> > > > in
> > > > > PR https://github.com/apache/cloudstack/pull/816.
> > > > >
> > > > > Regards,
> > > > > Anshul
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > DISCLAIMER
> > > > > ==========
> > > > > This e-mail may contain privileged and confidential information
> which
> > > is
> > > > > the property of Accelerite, a Persistent Systems business. It is
> > > intended
> > > > > only for the use of the individual or entity to which it is
> > addressed.
> > > If
> > > > > you are not the intended recipient, you are not authorized to read,
> > > > retain,
> > > > > copy, print, distribute or use this message. If you have received
> > this
> > > > > communication in error, please notify the sender and delete all
> > copies
> > > of
> > > > > this message. Accelerite, a Persistent Systems business does not
> > accept
> > > > any
> > > > > liability for virus infected mails.
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > Daan
> > > >
> > >
> > >
> > >
> > > --
> > > Rafael Weingärtner
> > >
> >
> >
> >
> > --
> > Rafael Weingärtner
> >
>



-- 
Rafael Weingärtner

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