Nikita,

Do you have a plan in your mind how to make Ignite codebase consistent?

AFAIR, we had it intentionally inconsistent for a long time at least
for one sake: for internal code we used special conventions (e.g.
abbreviations, shorten getters) and common Java conventions for public
API and examples (e.g. no abbreviations and usual getters).

2021-06-16 23:37 GMT+03:00, Nikita Ivanov <niva...@gridgain.com>:
> Consistency is what makes it easier to contribute to the project and
> attract new members. Consistency implies strong, well defined and
> universally enforced rules. Just because we have some individuals who
> are lazy or inexperienced - it does not mean that the entire project
> should relax the basic-level engineering discipline.
>
> On a personal node - nothing screams "immaturity" louder that a code
> that uses inconsistent naming, commenting, code style & organization,
> etc.
> --
> Nikita Ivanov
>
> On Wed, Jun 16, 2021 at 5:56 AM Andrey Gura <ag...@apache.org> wrote:
>>
>> Hi,
>>
>> I understand that this rule seems too strict or may be weird. But
>> removing the rule could lead to review comments like "use future
>> instead of fut". So my proposal is to change rule from "required" to
>> "recommended".
>>
>> On Wed, Jun 16, 2021 at 2:49 PM Valentin Kulichenko
>> <valentin.kuliche...@gmail.com> wrote:
>> >
>> > Konstantin, thanks for chiming in.
>> >
>> > That's exactly my concern. Overformalization is generally not a good
>> > thing.
>> > Someone used "mess" to abbreviate "message"? That is surely not a good
>> > coding style, but that's what code reviews are for. I believe that our
>> > committers are more than capable of identifying such issues.
>> >
>> > At the same time, with the current rules, we are *forced* to use
>> > abbreviations like "locAddrGrpMgr", whether we like it or not. All it
>> > does
>> > is makes it harder to contribute to Ignite, without providing any clear
>> > value.
>> >
>> > -Val
>> >
>> > On Thu, Jun 10, 2021 at 9:46 AM Konstantin Orlov <kor...@gridgain.com>
>> > wrote:
>> >
>> > > +1 for making this optional
>> > >
>> > > Common abbreviation rules is good for sure, but sometimes I getting
>> > > sick
>> > > of all those locAddrGrpMgr.
>> > >
>> > >
>> > > --
>> > > Regards,
>> > > Konstantin Orlov
>> > >
>> > >
>> > >
>> > >
>> > > > On 7 Jun 2021, at 14:31, Nikolay Izhikov <nizhi...@apache.org>
>> > > > wrote:
>> > > >
>> > > > Hello, Anton, Alexei.
>> > > >
>> > > > Thanks for the feedback.
>> > > >
>> > > > Personally, I’m pretty happy current abbreviation rules too.
>> > > > Let see what we can do to make our codebase even more consistent.
>> > > >
>> > > >> 7 июня 2021 г., в 13:23, Alexei Scherbakov <
>> > > alexey.scherbak...@gmail.com> написал(а):
>> > > >>
>> > > >> -1
>> > > >> Common abbrevs add quality to the code.
>> > > >>
>> > > >> пн, 7 июн. 2021 г. в 12:38, Anton Vinogradov <a...@apache.org>:
>> > > >>
>> > > >>> -1 here.
>> > > >>> We can fix the code and set up the rule.
>> > > >>>
>> > > >>> This will help to prevent having a weird abbreviation like "mess"
>> > > >>> (from
>> > > >>> "message") or "ign" (from "Ignite").
>> > > >>> Also, the abbreviations list (hardcoded at IDEA plugin) allows to
>> > > >>> have
>> > > same
>> > > >>> names across the whole code, this should simplify the reading.
>> > > >>>
>> > > >>> On Sat, Jun 5, 2021 at 10:49 PM Valentin Kulichenko <
>> > > >>> valentin.kuliche...@gmail.com> wrote:
>> > > >>>
>> > > >>>> I also support removing this requirement. It’s not the first
>> > > >>>> time
>> > > someone
>> > > >>>> brings this up, and so far we haven’t been able to fix it. Not
>> > > >>>> worth
>> > > it
>> > > >>> in
>> > > >>>> my view.
>> > > >>>>
>> > > >>>> -Val
>> > > >>>>
>> > > >>>> On Sat, Jun 5, 2021 at 11:54 AM Nikolay Izhikov
>> > > >>>> <nizhi...@apache.org>
>> > > >>>> wrote:
>> > > >>>>
>> > > >>>>> Hello, guys.
>> > > >>>>>
>> > > >>>>> Thanks for the feedback.
>> > > >>>>>
>> > > >>>>> Dmitry,
>> > > >>>>>
>> > > >>>>>> Manual rule enforcement saves a couple of symbols in code
>> > > >>>>>
>> > > >>>>> I’m talking about automatic check.
>> > > >>>>> We can implement it easily.
>> > > >>>>> So, if we decide to keep this rule all we need is to fix
>> > > >>>>> current
>> > > >>>>> violations (several thousand!).
>> > > >>>>> After it, checkstyle will automatically enforce this rule.
>> > > >>>>> As you may know, currently, any PR checked according to our
>> > > checkstyle
>> > > >>>>> rules.
>> > > >>>>> Please, take a look at little green check sign after PR name.
>> > > >>>>>
>> > > >>>>>
>> > > >>>>>> 5 июня 2021 г., в 00:57, Dmitry Pavlov <dpav...@apache.org>
>> > > >>>> написал(а):
>> > > >>>>>>
>> > > >>>>>> +1 for removal. Cnt and count both seem to be fine.
>> > > >>>>>>
>> > > >>>>>> Manual rule enforcement saves a couple of symbols in code, but
>> > > >>> requires
>> > > >>>>> some time from both contributor and reviewer.
>> > > >>>>>>
>> > > >>>>>> Sincerely,
>> > > >>>>>> Dmitriy Pavlov
>> > > >>>>>>
>> > > >>>>>> On 2021/06/04 19:18:37, Pavel Tupitsyn <ptupit...@apache.org>
>> > > wrote:
>> > > >>>>>>> In my opinion, we should remove this rule.
>> > > >>>>>>> Looks like a waste of time. freq or frequency, cnt or count,
>> > > >>>>>>> it is
>> > > >>>> fine
>> > > >>>>>>> either way.
>> > > >>>>>>>
>> > > >>>>>>> On Fri, Jun 4, 2021 at 7:39 PM Nikolay Izhikov <
>> > > nizhi...@apache.org
>> > > >>>>
>> > > >>>>> wrote:
>> > > >>>>>>>
>> > > >>>>>>>> Hello, Igniters.
>> > > >>>>>>>>
>> > > >>>>>>>> Right now, we have the rule to use some predefined list of
>> > > >>>> abbrevation
>> > > >>>>> for
>> > > >>>>>>>> variable names [1].
>> > > >>>>>>>> Some of the reviewers ask to follow this rule strictly.
>> > > >>>>>>>>
>> > > >>>>>>>>> It is required to use abbreviated form for code
>> > > >>>>>>>>> consistency.
>> > > >>>>>>>>
>> > > >>>>>>>> I tried to implement this rule in form of checkstyle check
>> > > >>>>>>>> [2] and
>> > > >>> it
>> > > >>>>>>>> seems like many of use doesn’t follow this requirement.
>> > > >>>>>>>> My check found 4124 violation in core module.
>> > > >>>>>>>>
>> > > >>>>>>>> Should we make this rule optional in documentation or should
>> > > >>>>>>>> we
>> > > >>>> remove
>> > > >>>>> it
>> > > >>>>>>>> completely?
>> > > >>>>>>>> Or should someone proceed and fix all the violations?
>> > > >>>>>>>>
>> > > >>>>>>>> WDYT?
>> > > >>>>>>>>
>> > > >>>>>>>>
>> > > >>>>>>>> Example of output:
>> > > >>>>>>>> ```
>> > > >>>>>>>> [ERROR]
>> > > >>>>>>>>
>> > > >>>>>
>> > > >>>>
>> > > >>>
>> > > /Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsWithTtlTest.java:94:
>> > > >>>>>>>> Abbrevation should be used for CACHE_NAME_LOCAL_ATOMIC!
>> > > >>>>>>>> Please,
>> > > use
>> > > >>>>> loc,
>> > > >>>>>>>> instead of LOCAL [IgniteAbbrevationsRule]
>> > > >>>>>>>> [ERROR]
>> > > >>>>>>>>
>> > > >>>>>
>> > > >>>>
>> > > >>>
>> > > /Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsWithTtlTest.java:97:
>> > > >>>>>>>> Abbrevation should be used for CACHE_NAME_LOCAL_TX! Please,
>> > > >>>>>>>> use
>> > > >>> loc,
>> > > >>>>>>>> instead of LOCAL [IgniteAbbrevationsRule]
>> > > >>>>>>>> [ERROR]
>> > > >>>>>>>>
>> > > >>>>>
>> > > >>>>
>> > > >>>
>> > > /Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsWithTtlTest.java:264:
>> > > >>>>>>>> Abbrevation should be used for checkpointManager! Please, use
>> > > >>>>>>>> mgr,
>> > > >>>>> instead
>> > > >>>>>>>> of Manager [IgniteAbbrevationsRule]
>> > > >>>>>>>> [ERROR]
>> > > >>>>>>>>
>> > > >>>>>
>> > > >>>>
>> > > >>>
>> > > /Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsPartitionPreloadTest.java:63:
>> > > >>>>>>>> Abbrevation should be used for DEFAULT_REGION! Please, use
>> > > >>>>>>>> dflt,
>> > > >>>>> instead of
>> > > >>>>>>>> DEFAULT [IgniteAbbrevationsRule]
>> > > >>>>>>>> [ERROR]
>> > > >>>>>>>>
>> > > >>>>>
>> > > >>>>
>> > > >>>
>> > > /Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsWholeClusterRestartTest.java:47:
>> > > >>>>>>>> Abbrevation should be used for ENTRIES_COUNT! Please, use
>> > > >>>>>>>> cnt,
>> > > >>>> instead
>> > > >>>>> of
>> > > >>>>>>>> COUNT [IgniteAbbrevationsRule]
>> > > >>>>>>>> [ERROR]
>> > > >>>>>>>>
>> > > >>>>>
>> > > >>>>
>> > > >>>
>> > > /Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsRebalancingOnNotStableTopologyTest.java:49:
>> > > >>>>>>>> Abbrevation should be used for CHECKPOINT_FREQUENCY! Please,
>> > > >>>>>>>> use
>> > > >>>> freq,
>> > > >>>>>>>> instead of FREQUENCY [IgniteAbbrevationsRule]
>> > > >>>>>>>> [ERROR]
>> > > >>>>>>>>
>> > > >>>>>
>> > > >>>>
>> > > >>>
>> > > /Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsTransactionsHangTest.java:75:
>> > > >>>>>>>> Abbrevation should be used for MAX_KEY_COUNT! Please, use
>> > > >>>>>>>> cnt,
>> > > >>>> instead
>> > > >>>>> of
>> > > >>>>>>>> COUNT [IgniteAbbrevationsRule]
>> > > >>>>>>>> [ERROR]
>> > > >>>>>>>>
>> > > >>>>>
>> > > >>>>
>> > > >>>
>> > > /Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsTransactionsHangTest.java:78:
>> > > >>>>>>>> Abbrevation should be used for CHECKPOINT_FREQUENCY! Please,
>> > > >>>>>>>> use
>> > > >>>> freq,
>> > > >>>>>>>> instead of FREQUENCY [IgniteAbbrevationsRule]
>> > > >>>>>>>> [ERROR]
>> > > >>>>>>>>
>> > > >>>>>
>> > > >>>>
>> > > >>>
>> > > /Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/SlowHistoricalRebalanceSmallHistoryTest.java:57:
>> > > >>>>>>>> Abbrevation should be used for SUPPLY_MESSAGE_LATCH! Please,
>> > > >>>>>>>> use
>> > > >>> msg,
>> > > >>>>>>>> instead of MESSAGE [IgniteAbbrevationsRule]
>> > > >>>>>>>> [ERROR]
>> > > >>>>>>>>
>> > > >>>>>
>> > > >>>>
>> > > >>>
>> > > /Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgniteLogicalRecoveryTest.java:74:
>> > > >>>>>>>> Abbrevation should be used for SHARED_GROUP_NAME! Please, use
>> > > >>>>>>>> grp,
>> > > >>>>> instead
>> > > >>>>>>>> of GROUP [IgniteAbbrevationsRule]
>> > > >>>>>>>> [ERROR]
>> > > >>>>>>>>
>> > > >>>>>
>> > > >>>>
>> > > >>>
>> > > /Users/sbt-izhikov-nv/work/ignite/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgniteLogicalRecoveryTest.java:200:
>> > > >>>>>>>> Abbrevation should be used for cacheLoader! Please, use ldr,
>> > > >>> instead
>> > > >>>> of
>> > > >>>>>>>> Loader [IgniteAbbrevationsRule]
>> > > >>>>>>>> ```
>> > > >>>>>>>>
>> > > >>>>>>>> [1]
>> > > >>>>>>>>
>> > > >>>>>
>> > > >>>>
>> > > >>>
>> > > https://cwiki.apache.org/confluence/display/IGNITE/Abbreviation+Rules#AbbreviationRules-VariableAbbreviation
>> > > >>>>>>>> [2] https://github.com/apache/ignite/pull/9153
>> > > >>>>>>>>
>> > > >>>>>>>>
>> > > >>>>>>>
>> > > >>>>>
>> > > >>>>>
>> > > >>>>
>> > > >>>
>> > > >>
>> > > >>
>> > > >> --
>> > > >>
>> > > >> Best regards,
>> > > >> Alexei Scherbakov
>> > > >
>> > >
>> > >
>


-- 

Best regards,
Ivan Pavlukhin

Reply via email to