Return-Path: X-Original-To: apmail-ignite-dev-archive@minotaur.apache.org Delivered-To: apmail-ignite-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 1971F17C7A for ; Mon, 28 Sep 2015 13:25:53 +0000 (UTC) Received: (qmail 88804 invoked by uid 500); 28 Sep 2015 13:25:53 -0000 Delivered-To: apmail-ignite-dev-archive@ignite.apache.org Received: (qmail 88762 invoked by uid 500); 28 Sep 2015 13:25:52 -0000 Mailing-List: contact dev-help@ignite.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ignite.apache.org Delivered-To: mailing list dev@ignite.apache.org Received: (qmail 88751 invoked by uid 99); 28 Sep 2015 13:25:52 -0000 Received: from mail-relay.apache.org (HELO mail-relay.apache.org) (140.211.11.15) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 28 Sep 2015 13:25:52 +0000 Received: from mail-la0-f45.google.com (mail-la0-f45.google.com [209.85.215.45]) by mail-relay.apache.org (ASF Mail Server at mail-relay.apache.org) with ESMTPSA id 3DF151A025E for ; Mon, 28 Sep 2015 13:25:52 +0000 (UTC) Received: by lahh2 with SMTP id h2so159864448lah.0 for ; Mon, 28 Sep 2015 06:25:50 -0700 (PDT) X-Gm-Message-State: ALoCoQn/lmMq87VbPj25mKDljnrYBBPH1Lq6slaNrhxRhZFQIJApNagAhJ7e+24YlKmA3b48yfvO X-Received: by 10.112.55.2 with SMTP id n2mr5716673lbp.59.1443446750868; Mon, 28 Sep 2015 06:25:50 -0700 (PDT) MIME-Version: 1.0 Received: by 10.112.74.201 with HTTP; Mon, 28 Sep 2015 06:25:31 -0700 (PDT) X-Originating-IP: [85.155.76.117] In-Reply-To: <20150928125327.GO19314@boudnik.org> References: <20150928125327.GO19314@boudnik.org> From: Raul Kripalani Date: Mon, 28 Sep 2015 14:25:31 +0100 Message-ID: Subject: Re: Coding Guidelines: zookeeper IP finder and mqtt streamer To: dev@ignite.apache.org Content-Type: multipart/alternative; boundary=001a11c39b24d691cb0520cea2c2 --001a11c39b24d691cb0520cea2c2 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hey guys, I have little time now, but before this discussion escalates... #1 Yakov, how exactly are you reading the Git history? WIP commits were never on master, they were in a feature branch which was merged into master on this commit: Commit: 88acd318b84ce3bff8c061bb34718e0e5f7127fb [88acd31] Parents: 421a5234b5, 296dd6e7d8 Author: Raul Kripalani Date: 21 Sep 2015 17:26:04 WEST IGNITE-535 Merge MQTT Streamer into master. Screenshot of the graph here: https://imgur.com/6vy0Vc4. #2 About TC tests, please see this discussion: http://apache-ignite-developers.2346864.n4.nabble.com/Maybe-review-my-first= -commits-td3370.html . #3 About formatting: yes there may be some problems. To the trained eye they are very easy to spot, especially if you spend most of your time in the Ignite codebase. But as more people join the team from other walks of life, we need a better system: (a) the Coding Guidelines are not meticulous enough for the level of auditing the community is doing; I get the impression that subjective bias is playing a part here, e.g. the "logical blocks" comment -- can you provide an objective definition accepted by industry? (b) we have no tooling; only a IntelliJ formatting definition, which on the one hand is incoherent (e.g. it tries to turn single-line Javadoc into multiline) and secondly, it is only valid for IntelliJ users (aren't there more IDEs out there?). (c) since we have no tooling in place, you are expecting a human to review every single character meticulously; this is inefficient and discourages people from contributing. (d) for the people who are so concerned with this level of detail, would you consider writing a checkstyle definition? It'll provide an objective basis, and we can plug it into the build and make it fail. That'll be the end of the story ;-) By the way, I'm sure you are reviewing outdated code because Joiner *is* used. #4 While we are on this, can we please discuss stuff like this: https://imgur.com/991Aa4X. Why doesn't the team use the --rebase option when pulling? Also, we need to remember that branch names disappear when the branch is deleted, therefore the commits lose their context (ticket, feature, etc.) if the message does not carry it. You can see how the commit log looks to another person in the screenshot. P.S.: Will reply to your individual formatting comments later, but retrier vs retryier is intentional. Retryier is the library (wrong spelling), retrier are my variable names (correct spelling). Regards, Ra=C3=BAl. On Mon, Sep 28, 2015 at 1:53 PM, Konstantin Boudnik wrote: > Are these official guidelines that are worked-out and communicated by > community? Basically, were they made clear when the project went on the C= TR > model? I presume it is/was looking at the wikipage. Hence non-sticking > to them is a case of negligence and needs to be addressed accordingly. > > I would also want to highlight the other side of such negligence: by > dumping > semi-baked code to the master one creates a burden for the rest of the > community as the code degrades in quality, potentially breaks tests, styl= e > checks, etc. And someone else needs to deal with it to unblock her's futu= re > progress. And that's brings forward another point that Brane and I were > making on a few occasions: in the CTR communities you need to invite in > people > with great deal of attention to how they work with others. Are they > respecting > others' time and effort? Are they good citizens of the community? And on, > and > on. > > Another purely technically matter: master isn't a trash can. Master shoul= d > be > close to releasable at any given point of time. WIP stuff doesn't belong = to > master, that's what the dev and integration branches are for. > > Cos > > On Mon, Sep 28, 2015 at 03:31PM, Yakov Zhdanov wrote: > > Guys, > > > > I have just reviewed the code and have some comments. 1-2 are very > serious > > from my point of view. > > > > 1. Code is in master. Did anyone checked tests on TC? Moreover, are the= re > > suites for those tests? > > 2. It seems that work on streamer has been done directly in master. I s= ee > > WIP commits, but I think I should not. As agreed finished work should b= e > > committed as a single set of changes. > > 3. I see unused variable > > - org.apache.ignite.stream.mqtt.MqttStreamer#cachedLogPrefix > > 4. Unused import - import com.google.common.base.Joiner; > > 5. Code and javadocs lines exceed 120 chars restriction. > > 6. Plenty of javadocs issues - absence, multiline "inheritdoc", etc. > > 7. Spacing is not correct - in ignite codebase logical blocks are > separated > > with blank line. > > 8. There should always be a blank line at the end of each file. > > 9. retrier vs retryier issue. > > > > Who is in charge for this code? Raul, Val? Can anyone fix my comments? > > > > I would also ask everyone (even committers) not to commit to master > without > > doing review with another committer. > > > > Here is the link to Ignite's coding guidelines - > > https://cwiki.apache.org/confluence/display/IGNITE/Coding+Guidelines. > Feel > > free to suggest and discuss edits if anything does not seem valid to yo= u. > > > > Thanks! > > > > --Yakov > --001a11c39b24d691cb0520cea2c2--