I think google looks to be in pretty good shape, including appropriate
use of weird builder

ex. weird builder is kindof ok when there exists a base resource from
which everything else is derived. ex Resource vs Instance.

https://github.com/jclouds/jclouds-labs-google/blob/master/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Resource.java
https://github.com/jclouds/jclouds-labs-google/blob/master/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Instance.java

However, things not sensible to extend have concrete builders.

https://github.com/jclouds/jclouds-labs-google/blob/master/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/ListPage.java

I haven't reviewed through all of google, but each time I've
accidentally entered, it has looked pretty good.

-A

On Wed, Oct 8, 2014 at 7:11 PM, Andrew Phillips <aphill...@qrmedia.com> wrote:
>> I will volunteer to undebt one provider for each provider someone else
>> volunteers for. Anyone with me?
>
>
> I'm up! Any specific one that you feel would be a good example?
>
> Before we start, though: do we have an up-to-date list of what we consider
> Good Practice and what we want to clean up here? I fully sympathize with
> Inbar, but I think part of the problem here is that beyond copy-pasting
> existing code I don't think we have anything outside of people's heads that
> describes what we're actually looking for. The few dev guides we have [1, 2,
> 3] certainly aren't enough.
>
> I obviously would love to be a position where all code has been cleaned up
> to the point that copy-paste is in line with the jclouds State Of The Art.
> Even if that is not the case, it would at least be great if contributors
> could have somewhere to go for advice. And we should probably agree that
> we'll prefer current guidelines over consistency with the rest of an older
> codebase.
>
> Getting back to this one: draft of what we're looking for?
>
> * MWS tests
> * No abstract builders
> * Use Objects.equal in equals()
> * Move common @Path to top of interface
> * private, error-throwing constructors for domain objects created by
> builders
>
> Is this the kind of stuff you have in mind? I'm just looking the PR by Inbar
> that triggered this here...
>
> Regards
>
> ap
>
> [1] https://wiki.apache.org/jclouds/Coding%20Standards
> [2] https://wiki.apache.org/jclouds/Best%20Practices
> [3] https://wiki.apache.org/jclouds/Create%20a%20New%20API%20or%20Provider
>
>
>
>>
>> -A
>> ---------- Forwarded message ----------
>> From: "inbar stolberg" <notificati...@github.com>
>> Date: Oct 8, 2014 4:51 PM
>> Subject: Re: [jclouds] cinder availability zones api + list call
>> implemented (#560)
>> To: "jclouds/jclouds" <jclo...@noreply.github.com>
>> Cc:
>>
>> In
>>
>> apis/openstack-cinder/src/main/java/org/jclouds/openstack/cinder/v1/extensions/ExtensionNamespaces.java:
>>
>>> + * See the License for the specific language governing permissions and
>>> + * limitations under the License.
>>> + */
>>> +
>>> +package org.jclouds.openstack.cinder.v1.extensions;
>>> +
>>> +/**
>>> + * Extension namespaces
>>> + */
>>> +public final class ExtensionNamespaces {
>>> +
>>> +   /**
>>> +    * Admin Action extension
>>> +    */
>>> +   public static final String ADMIN_ACTIONS =
>>> "http://docs.openstack.org/ext/admin-actions/api/v1.1";;
>>> +
>>
>>
>> 90% of this code is copy paste of existing code from the same branch not
>> old code either ...
>> I have no problem fixing this but doesnt seem like there is cosistency in
>> the code if i can copy paste some thing and get rejected over 100
>> lines....
>> :/
>>
>> —
>> Reply to this email directly or view it on GitHub
>> <https://github.com/jclouds/jclouds/pull/560/files#r18620246>.
>>
>
>
>
> --
> Andrew Phillips
> qrmedia
>
> Unless expressly stated otherwise, this message is confidential.
> Access to this e-mail by anyone else is unauthorised. If you are
> not an addressee, any disclosure or copying of the contents of
> this e-mail or any action taken (or not taken) in reliance on it
> is unauthorised and may be unlawful. If you are not an addressee,
> please inform the sender immediately.
>
> This message is confidential and may not be redistributed or
> broadcast in whole or part in any form, including but not limited
> to any form of internet transmission including email, usenet,
> newsgroups, www, irc, icq, etc.
> All liability for errors and viruses is disclaimed.

Reply via email to