[Python-ideas] A PEP to define basical metric which allows to guarantee minimal code quality

M.-A. Lemburg mal at egenix.com
Thu Sep 21 03:47:56 EDT 2017


On 21.09.2017 03:32, Nick Coghlan wrote:
> On 21 September 2017 at 10:51, Ned Batchelder <ned at nedbatchelder.com> wrote:
>> Write a document that proposes some quality metrics. Share it around. Get
>> people to like it. If it becomes popular, then people will start to value it
>> as a standard for project quality.
> 
> And explore the academic literature for research on quality measures
> that are actually predictors of real world benefits (e.g. readability,
> maintainability, correctness, affordability).
> 
> There doesn't seem to be all that much research out there, although I
> did find https://link.springer.com/chapter/10.1007/978-3-642-12165-4_24
> from several years ago, as well as
> http://ieeexplore.ieee.org/document/7809284/ from last year (both are
> examples of pay-to-play science though, so not particularly useful to
> open source practitioners).

On the topic, you might want to have a look at a talk I held
at EuroPython 2016 on valuation of a code base (in the context
of valuation of a Python company):

https://downloads.egenix.com/python/EuroPython-2016-Python-Startup-Valuation.pdf
(1596930 bytes)

Video: https://www.youtube.com/watch?v=nIoE3KJxK6U

There are a few things you can do with metrics to figure out how
good a code base is. Of course, in the end you always have to
do a code review, but the metrics are a good indicator of where
to start looking for possible issues.

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Services directly from the Experts (#1, Sep 21 2017)
>>> Python Projects, Coaching and Consulting ...  http://www.egenix.com/
>>> Python Database Interfaces ...           http://products.egenix.com/
>>> Plone/Zope Database Interfaces ...           http://zope.egenix.com/
________________________________________________________________________

::: We implement business ideas - efficiently in both time and costs :::

   eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
    D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
           Registered at Amtsgericht Duesseldorf: HRB 46611
               http://www.egenix.com/company/contact/
                      http://www.malemburg.com/


> Regardless, Ned's point still stands: the PEP process only applies to
> situations where the CPython core developers (or a closely associated
> group like the Python Packaging Authority) are the relevant global
> authorities on a topic. Even PEP 7 and PEP 8 are technically only the
> style guides for the CPython reference implementation - folks just
> borrow them as the baseline style guides for their own Python
> projects.
> 
> "Which characteristics of Python code are useful predictors of the
> ability to deliver software projects to specification on time and
> within budget?" (the most pragmatic definition of "software quality")
> is *not* one of those areas - for that, you'd be more looking towards
> groups like IEEE (Institute of Electrical & Electronics Engineers) and
> ACM (Association for Computing Machinery), who study that kind of
> thing across multiple languages and language communities, and try to
> put some empirical weight behind their findings, rather than relying
> primarily on instinct and experience (which is the way we tend to do
> things in the open source community, since it's more fun, and less
> effort).
> 
> Cheers,
> Nick.
> 

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Services directly from the Experts (#1, Sep 21 2017)
>>> Python Projects, Coaching and Consulting ...  http://www.egenix.com/
>>> Python Database Interfaces ...           http://products.egenix.com/
>>> Plone/Zope Database Interfaces ...           http://zope.egenix.com/
________________________________________________________________________

::: We implement business ideas - efficiently in both time and costs :::

   eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
    D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
           Registered at Amtsgericht Duesseldorf: HRB 46611
               http://www.egenix.com/company/contact/
                      http://www.malemburg.com/



More information about the Python-ideas mailing list